{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "view-in-github"
   },
   "source": [
    "<a target=\"_blank\" href=\"https://colab.research.google.com/github/AI4Finance-Foundation/FinRL-Tutorials/blob/master/2-Advance/FinRL_PortfolioAllocation_Explainable_DRL.ipynb\">\n",
    "  <img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/>\n",
    "</a>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "Yv3IDvrobU37"
   },
   "source": [
    "# Explainable Deep Reinforcement Learning for Portfolio Managemnet: an Emprical Approach.\n",
    "\n",
    "Tutorials to use FinRL Library to perform explainable portfolio allocation in one [Jupyter Notebook](https://colab.research.google.com/drive/117v2qWo-qPC7OPd7paY1wYkOUywU_DWZ?usp=sharing)\n",
    "\n",
    "* This tutorial is based on the [portfolio allocation tutorial](https://github.com/AI4Finance-Foundation/FinRL/blob/master/FinRL_portfolio_allocation_NeurIPS_2020.ipynb) in FinRL Library.\n",
    "* This blog is based on our paper: Explainable Deep Reinforcement Learning for Portfolio Managemnet: an Emprical Approach\n",
    "* Please report any issues to our Github: https://github.com/AI4Finance-LLC/FinRL-Library/issues\n",
    "* **Pytorch Version** \n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "4kHCfEiTA80V"
   },
   "source": [
    "# Content"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "vUmLTmoQA7_w"
   },
   "source": [
    "* [1. Problem Definition](#0)\n",
    "* [2. Getting Started - Load Python packages](#1)\n",
    "    * [2.1. Install Packages](#1.1)    \n",
    "    * [2.2. Check Additional Packages](#1.2)\n",
    "    * [2.3. Import Packages](#1.3)\n",
    "    * [2.4. Create Folders](#1.4)\n",
    "* [3. Download Data](#2)\n",
    "* [4. Preprocess Data](#3)        \n",
    "    * [4.1. Technical Indicators](#3.1)\n",
    "    * [4.2. Perform Feature Engineering](#3.2)\n",
    "* [5.Build Environment](#4)  \n",
    "    * [5.1. Training & Trade Data Split](#4.1)\n",
    "    * [5.2. User-defined Environment](#4.2)   \n",
    "    * [5.3. Initialize Environment](#4.3)    \n",
    "* [6.Implement DRL Algorithms](#5)  \n",
    "* [7.Backtesting Performance](#6)  \n",
    "    * [7.1. BackTestStats](#6.1)\n",
    "    * [7.2. BackTestPlot](#6.2)   \n",
    "    * [7.3. Baseline Stats](#6.3)   \n",
    "    * [7.3. Compare to Stock Market Index](#6.4)             "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "12v1i0jVkg48"
   },
   "source": [
    "<a id='0'></a>\n",
    "# Part 1. Problem Definition"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "L63HKnWvkirx"
   },
   "source": [
    "This problem is to empirically explain the trading performance of DRL agents for the portfolio management task.\n",
    "\n",
    "The algorithm is trained using Deep Reinforcement Learning (DRL) algorithms and the components of the reinforcement learning environment are:\n",
    "\n",
    "\n",
    "* Action: The action space describes the allowed portfolio weights that the agent interacts with the\n",
    "environment. Each element in the portfolio weights is between [0, 1].\n",
    "\n",
    "* Reward function: r(s, a, s′) is the incentive mechanism for an agent to learn a better action. The logorithmic rate of portfolio return when action a is taken at state s and arriving at new state s',  i.e., r(s, a, s′) = ln(v'/v), where v′ and v represent the portfolio\n",
    "values at state s′ and s, respectively\n",
    "\n",
    "* State: The state space describes  an agent’s perception of a market.  Just as a human trader needs to analyze various information before executing a trade, so\n",
    "our trading agent observes many different features to better learn in an interactive environment.\n",
    "\n",
    "* Environment: Dow 30 consituents\n",
    "\n",
    "We use Yahoo Finance API as the data source.\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "g_emqQCCklVt"
   },
   "source": [
    "<a id='1'></a>\n",
    "# Part 2. Getting Started- Load Python Packages"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "cVCcCalAknGn"
   },
   "source": [
    "<a id='1.1'></a>\n",
    "## 2.1. Install all the packages through FinRL library\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "pT8a0fvhA_TW",
    "outputId": "881406f3-02c5-49c6-aae1-d76a46684975"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Requirement already satisfied: plotly==4.4.1 in /usr/local/lib/python3.7/dist-packages (4.4.1)\n",
      "Requirement already satisfied: retrying>=1.3.3 in /usr/local/lib/python3.7/dist-packages (from plotly==4.4.1) (1.3.3)\n",
      "Requirement already satisfied: six in /usr/local/lib/python3.7/dist-packages (from plotly==4.4.1) (1.15.0)\n",
      "--2021-10-05 00:32:34--  https://github.com/plotly/orca/releases/download/v1.2.1/orca-1.2.1-x86_64.AppImage\n",
      "Resolving github.com (github.com)... 192.30.255.113\n",
      "Connecting to github.com (github.com)|192.30.255.113|:443... connected.\n",
      "HTTP request sent, awaiting response... 302 Found\n",
      "Location: https://github-releases.githubusercontent.com/99037241/9dc3a580-286a-11e9-8a21-4312b7c8a512?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20211005%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20211005T003234Z&X-Amz-Expires=300&X-Amz-Signature=c82453cba1aaa67f0ae2b92fd556e2f665e010c7b929cf4984641a70b10add78&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=99037241&response-content-disposition=attachment%3B%20filename%3Dorca-1.2.1-x86_64.AppImage&response-content-type=application%2Foctet-stream [following]\n",
      "--2021-10-05 00:32:34--  https://github-releases.githubusercontent.com/99037241/9dc3a580-286a-11e9-8a21-4312b7c8a512?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20211005%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20211005T003234Z&X-Amz-Expires=300&X-Amz-Signature=c82453cba1aaa67f0ae2b92fd556e2f665e010c7b929cf4984641a70b10add78&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=99037241&response-content-disposition=attachment%3B%20filename%3Dorca-1.2.1-x86_64.AppImage&response-content-type=application%2Foctet-stream\n",
      "Resolving github-releases.githubusercontent.com (github-releases.githubusercontent.com)... 185.199.109.154, 185.199.110.154, 185.199.111.154, ...\n",
      "Connecting to github-releases.githubusercontent.com (github-releases.githubusercontent.com)|185.199.109.154|:443... connected.\n",
      "HTTP request sent, awaiting response... 200 OK\n",
      "Length: 51607939 (49M) [application/octet-stream]\n",
      "Saving to: ‘/usr/local/bin/orca’\n",
      "\n",
      "/usr/local/bin/orca 100%[===================>]  49.22M  74.4MB/s    in 0.7s    \n",
      "\n",
      "2021-10-05 00:32:35 (74.4 MB/s) - ‘/usr/local/bin/orca’ saved [51607939/51607939]\n",
      "\n",
      "Reading package lists... Done\n",
      "Building dependency tree       \n",
      "Reading state information... Done\n",
      "The following additional packages will be installed:\n",
      "  gconf-service gconf-service-backend gconf2-common libdbus-glib-1-2\n",
      "  libgail-common libgail18 libgtk2.0-bin libgtk2.0-common\n",
      "Suggested packages:\n",
      "  gvfs\n",
      "The following NEW packages will be installed:\n",
      "  gconf-service gconf-service-backend gconf2-common libdbus-glib-1-2\n",
      "  libgail-common libgail18 libgconf-2-4 libgtk2.0-0 libgtk2.0-bin\n",
      "  libgtk2.0-common xvfb\n",
      "0 upgraded, 11 newly installed, 0 to remove and 37 not upgraded.\n",
      "Need to get 3,715 kB of archives.\n",
      "After this operation, 17.2 MB of additional disk space will be used.\n",
      "Get:1 http://archive.ubuntu.com/ubuntu bionic/main amd64 libdbus-glib-1-2 amd64 0.110-2 [58.3 kB]\n",
      "Get:2 http://archive.ubuntu.com/ubuntu bionic/universe amd64 gconf2-common all 3.2.6-4ubuntu1 [700 kB]\n",
      "Get:3 http://archive.ubuntu.com/ubuntu bionic/universe amd64 libgconf-2-4 amd64 3.2.6-4ubuntu1 [84.8 kB]\n",
      "Get:4 http://archive.ubuntu.com/ubuntu bionic/universe amd64 gconf-service-backend amd64 3.2.6-4ubuntu1 [58.1 kB]\n",
      "Get:5 http://archive.ubuntu.com/ubuntu bionic/universe amd64 gconf-service amd64 3.2.6-4ubuntu1 [2,036 B]\n",
      "Get:6 http://archive.ubuntu.com/ubuntu bionic/main amd64 libgtk2.0-common all 2.24.32-1ubuntu1 [125 kB]\n",
      "Get:7 http://archive.ubuntu.com/ubuntu bionic/main amd64 libgtk2.0-0 amd64 2.24.32-1ubuntu1 [1,769 kB]\n",
      "Get:8 http://archive.ubuntu.com/ubuntu bionic/main amd64 libgail18 amd64 2.24.32-1ubuntu1 [14.2 kB]\n",
      "Get:9 http://archive.ubuntu.com/ubuntu bionic/main amd64 libgail-common amd64 2.24.32-1ubuntu1 [112 kB]\n",
      "Get:10 http://archive.ubuntu.com/ubuntu bionic/main amd64 libgtk2.0-bin amd64 2.24.32-1ubuntu1 [7,536 B]\n",
      "Get:11 http://archive.ubuntu.com/ubuntu bionic-updates/universe amd64 xvfb amd64 2:1.19.6-1ubuntu4.9 [784 kB]\n",
      "Fetched 3,715 kB in 2s (2,376 kB/s)\n",
      "Selecting previously unselected package libdbus-glib-1-2:amd64.\n",
      "(Reading database ... 155047 files and directories currently installed.)\n",
      "Preparing to unpack .../00-libdbus-glib-1-2_0.110-2_amd64.deb ...\n",
      "Unpacking libdbus-glib-1-2:amd64 (0.110-2) ...\n",
      "Selecting previously unselected package gconf2-common.\n",
      "Preparing to unpack .../01-gconf2-common_3.2.6-4ubuntu1_all.deb ...\n",
      "Unpacking gconf2-common (3.2.6-4ubuntu1) ...\n",
      "Selecting previously unselected package libgconf-2-4:amd64.\n",
      "Preparing to unpack .../02-libgconf-2-4_3.2.6-4ubuntu1_amd64.deb ...\n",
      "Unpacking libgconf-2-4:amd64 (3.2.6-4ubuntu1) ...\n",
      "Selecting previously unselected package gconf-service-backend.\n",
      "Preparing to unpack .../03-gconf-service-backend_3.2.6-4ubuntu1_amd64.deb ...\n",
      "Unpacking gconf-service-backend (3.2.6-4ubuntu1) ...\n",
      "Selecting previously unselected package gconf-service.\n",
      "Preparing to unpack .../04-gconf-service_3.2.6-4ubuntu1_amd64.deb ...\n",
      "Unpacking gconf-service (3.2.6-4ubuntu1) ...\n",
      "Selecting previously unselected package libgtk2.0-common.\n",
      "Preparing to unpack .../05-libgtk2.0-common_2.24.32-1ubuntu1_all.deb ...\n",
      "Unpacking libgtk2.0-common (2.24.32-1ubuntu1) ...\n",
      "Selecting previously unselected package libgtk2.0-0:amd64.\n",
      "Preparing to unpack .../06-libgtk2.0-0_2.24.32-1ubuntu1_amd64.deb ...\n",
      "Unpacking libgtk2.0-0:amd64 (2.24.32-1ubuntu1) ...\n",
      "Selecting previously unselected package libgail18:amd64.\n",
      "Preparing to unpack .../07-libgail18_2.24.32-1ubuntu1_amd64.deb ...\n",
      "Unpacking libgail18:amd64 (2.24.32-1ubuntu1) ...\n",
      "Selecting previously unselected package libgail-common:amd64.\n",
      "Preparing to unpack .../08-libgail-common_2.24.32-1ubuntu1_amd64.deb ...\n",
      "Unpacking libgail-common:amd64 (2.24.32-1ubuntu1) ...\n",
      "Selecting previously unselected package libgtk2.0-bin.\n",
      "Preparing to unpack .../09-libgtk2.0-bin_2.24.32-1ubuntu1_amd64.deb ...\n",
      "Unpacking libgtk2.0-bin (2.24.32-1ubuntu1) ...\n",
      "Selecting previously unselected package xvfb.\n",
      "Preparing to unpack .../10-xvfb_2%3a1.19.6-1ubuntu4.9_amd64.deb ...\n",
      "Unpacking xvfb (2:1.19.6-1ubuntu4.9) ...\n",
      "Setting up gconf2-common (3.2.6-4ubuntu1) ...\n",
      "\n",
      "Creating config file /etc/gconf/2/path with new version\n",
      "Setting up libgtk2.0-common (2.24.32-1ubuntu1) ...\n",
      "Setting up libdbus-glib-1-2:amd64 (0.110-2) ...\n",
      "Setting up xvfb (2:1.19.6-1ubuntu4.9) ...\n",
      "Setting up libgconf-2-4:amd64 (3.2.6-4ubuntu1) ...\n",
      "Setting up libgtk2.0-0:amd64 (2.24.32-1ubuntu1) ...\n",
      "Setting up libgail18:amd64 (2.24.32-1ubuntu1) ...\n",
      "Setting up libgail-common:amd64 (2.24.32-1ubuntu1) ...\n",
      "Setting up libgtk2.0-bin (2.24.32-1ubuntu1) ...\n",
      "Setting up gconf-service-backend (3.2.6-4ubuntu1) ...\n",
      "Setting up gconf-service (3.2.6-4ubuntu1) ...\n",
      "Processing triggers for libc-bin (2.27-3ubuntu1.3) ...\n",
      "/sbin/ldconfig.real: /usr/local/lib/python3.7/dist-packages/ideep4py/lib/libmkldnn.so.0 is not a symbolic link\n",
      "\n",
      "Processing triggers for man-db (2.8.3-2ubuntu0.1) ...\n",
      "Collecting git+https://github.com/AI4Finance-LLC/FinRL-Library.git\n",
      "  Cloning https://github.com/AI4Finance-LLC/FinRL-Library.git to /tmp/pip-req-build-uo1r014n\n",
      "  Running command git clone -q https://github.com/AI4Finance-LLC/FinRL-Library.git /tmp/pip-req-build-uo1r014n\n",
      "Collecting pyfolio@ git+https://github.com/quantopian/pyfolio.git#egg=pyfolio-0.9.2\n",
      "  Cloning https://github.com/quantopian/pyfolio.git to /tmp/pip-install-i0tbyawz/pyfolio_3fff79d4a813471abd3d5bce3f958638\n",
      "  Running command git clone -q https://github.com/quantopian/pyfolio.git /tmp/pip-install-i0tbyawz/pyfolio_3fff79d4a813471abd3d5bce3f958638\n",
      "Requirement already satisfied: numpy>=1.17.3 in /usr/local/lib/python3.7/dist-packages (from finrl==0.3.2) (1.19.5)\n",
      "Requirement already satisfied: pandas>=1.1.5 in /usr/local/lib/python3.7/dist-packages (from finrl==0.3.2) (1.1.5)\n",
      "Collecting stockstats\n",
      "  Downloading stockstats-0.3.2-py2.py3-none-any.whl (13 kB)\n",
      "Collecting yfinance\n",
      "  Downloading yfinance-0.1.63.tar.gz (26 kB)\n",
      "Requirement already satisfied: matplotlib in /usr/local/lib/python3.7/dist-packages (from finrl==0.3.2) (3.2.2)\n",
      "Requirement already satisfied: scikit-learn>=0.21.0 in /usr/local/lib/python3.7/dist-packages (from finrl==0.3.2) (0.22.2.post1)\n",
      "Requirement already satisfied: gym>=0.17 in /usr/local/lib/python3.7/dist-packages (from finrl==0.3.2) (0.17.3)\n",
      "Collecting stable-baselines3[extra]\n",
      "  Downloading stable_baselines3-1.2.0-py3-none-any.whl (161 kB)\n",
      "\u001b[K     |████████████████████████████████| 161 kB 13.6 MB/s \n",
      "\u001b[?25hCollecting ray[default]\n",
      "  Downloading ray-1.6.0-cp37-cp37m-manylinux2014_x86_64.whl (49.6 MB)\n",
      "\u001b[K     |████████████████████████████████| 49.6 MB 10 kB/s \n",
      "\u001b[?25hCollecting lz4\n",
      "  Downloading lz4-3.1.3-cp37-cp37m-manylinux2010_x86_64.whl (1.8 MB)\n",
      "\u001b[K     |████████████████████████████████| 1.8 MB 48.9 MB/s \n",
      "\u001b[?25hCollecting tensorboardX\n",
      "  Downloading tensorboardX-2.4-py2.py3-none-any.whl (124 kB)\n",
      "\u001b[K     |████████████████████████████████| 124 kB 68.2 MB/s \n",
      "\u001b[?25hCollecting gputil\n",
      "  Downloading GPUtil-1.4.0.tar.gz (5.5 kB)\n",
      "Collecting pandas_market_calendars\n",
      "  Downloading pandas_market_calendars-3.3.tar.gz (129 kB)\n",
      "\u001b[K     |████████████████████████████████| 129 kB 67.8 MB/s \n",
      "\u001b[?25hCollecting alpaca_trade_api\n",
      "  Downloading alpaca_trade_api-1.4.0-py3-none-any.whl (34 kB)\n",
      "Collecting ccxt\n",
      "  Downloading ccxt-1.57.46-py2.py3-none-any.whl (2.0 MB)\n",
      "\u001b[K     |████████████████████████████████| 2.0 MB 62.8 MB/s \n",
      "\u001b[?25hCollecting jqdatasdk\n",
      "  Downloading jqdatasdk-1.8.10-py3-none-any.whl (153 kB)\n",
      "\u001b[K     |████████████████████████████████| 153 kB 66.2 MB/s \n",
      "\u001b[?25hCollecting wrds\n",
      "  Downloading wrds-3.1.1-py3-none-any.whl (12 kB)\n",
      "Requirement already satisfied: pytest in /usr/local/lib/python3.7/dist-packages (from finrl==0.3.2) (3.6.4)\n",
      "Requirement already satisfied: setuptools>=41.4.0 in /usr/local/lib/python3.7/dist-packages (from finrl==0.3.2) (57.4.0)\n",
      "Requirement already satisfied: wheel>=0.33.6 in /usr/local/lib/python3.7/dist-packages (from finrl==0.3.2) (0.37.0)\n",
      "Requirement already satisfied: ipython>=3.2.3 in /usr/local/lib/python3.7/dist-packages (from pyfolio@ git+https://github.com/quantopian/pyfolio.git#egg=pyfolio-0.9.2->finrl==0.3.2) (5.5.0)\n",
      "Requirement already satisfied: pytz>=2014.10 in /usr/local/lib/python3.7/dist-packages (from pyfolio@ git+https://github.com/quantopian/pyfolio.git#egg=pyfolio-0.9.2->finrl==0.3.2) (2018.9)\n",
      "Requirement already satisfied: scipy>=0.14.0 in /usr/local/lib/python3.7/dist-packages (from pyfolio@ git+https://github.com/quantopian/pyfolio.git#egg=pyfolio-0.9.2->finrl==0.3.2) (1.4.1)\n",
      "Requirement already satisfied: seaborn>=0.7.1 in /usr/local/lib/python3.7/dist-packages (from pyfolio@ git+https://github.com/quantopian/pyfolio.git#egg=pyfolio-0.9.2->finrl==0.3.2) (0.11.2)\n",
      "Collecting empyrical>=0.5.0\n",
      "  Downloading empyrical-0.5.5.tar.gz (52 kB)\n",
      "\u001b[K     |████████████████████████████████| 52 kB 1.8 MB/s \n",
      "\u001b[?25hRequirement already satisfied: pandas-datareader>=0.2 in /usr/local/lib/python3.7/dist-packages (from empyrical>=0.5.0->pyfolio@ git+https://github.com/quantopian/pyfolio.git#egg=pyfolio-0.9.2->finrl==0.3.2) (0.9.0)\n",
      "Requirement already satisfied: cloudpickle<1.7.0,>=1.2.0 in /usr/local/lib/python3.7/dist-packages (from gym>=0.17->finrl==0.3.2) (1.3.0)\n",
      "Requirement already satisfied: pyglet<=1.5.0,>=1.4.0 in /usr/local/lib/python3.7/dist-packages (from gym>=0.17->finrl==0.3.2) (1.5.0)\n",
      "Requirement already satisfied: pickleshare in /usr/local/lib/python3.7/dist-packages (from ipython>=3.2.3->pyfolio@ git+https://github.com/quantopian/pyfolio.git#egg=pyfolio-0.9.2->finrl==0.3.2) (0.7.5)\n",
      "Requirement already satisfied: decorator in /usr/local/lib/python3.7/dist-packages (from ipython>=3.2.3->pyfolio@ git+https://github.com/quantopian/pyfolio.git#egg=pyfolio-0.9.2->finrl==0.3.2) (4.4.2)\n",
      "Requirement already satisfied: prompt-toolkit<2.0.0,>=1.0.4 in /usr/local/lib/python3.7/dist-packages (from ipython>=3.2.3->pyfolio@ git+https://github.com/quantopian/pyfolio.git#egg=pyfolio-0.9.2->finrl==0.3.2) (1.0.18)\n",
      "Requirement already satisfied: traitlets>=4.2 in /usr/local/lib/python3.7/dist-packages (from ipython>=3.2.3->pyfolio@ git+https://github.com/quantopian/pyfolio.git#egg=pyfolio-0.9.2->finrl==0.3.2) (5.1.0)\n",
      "Requirement already satisfied: pexpect in /usr/local/lib/python3.7/dist-packages (from ipython>=3.2.3->pyfolio@ git+https://github.com/quantopian/pyfolio.git#egg=pyfolio-0.9.2->finrl==0.3.2) (4.8.0)\n",
      "Requirement already satisfied: pygments in /usr/local/lib/python3.7/dist-packages (from ipython>=3.2.3->pyfolio@ git+https://github.com/quantopian/pyfolio.git#egg=pyfolio-0.9.2->finrl==0.3.2) (2.6.1)\n",
      "Requirement already satisfied: simplegeneric>0.8 in /usr/local/lib/python3.7/dist-packages (from ipython>=3.2.3->pyfolio@ git+https://github.com/quantopian/pyfolio.git#egg=pyfolio-0.9.2->finrl==0.3.2) (0.8.1)\n",
      "Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.7/dist-packages (from matplotlib->finrl==0.3.2) (0.10.0)\n",
      "Requirement already satisfied: python-dateutil>=2.1 in /usr/local/lib/python3.7/dist-packages (from matplotlib->finrl==0.3.2) (2.8.2)\n",
      "Requirement already satisfied: pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.1 in /usr/local/lib/python3.7/dist-packages (from matplotlib->finrl==0.3.2) (2.4.7)\n",
      "Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.7/dist-packages (from matplotlib->finrl==0.3.2) (1.3.2)\n",
      "Requirement already satisfied: six in /usr/local/lib/python3.7/dist-packages (from cycler>=0.10->matplotlib->finrl==0.3.2) (1.15.0)\n",
      "Requirement already satisfied: requests>=2.19.0 in /usr/local/lib/python3.7/dist-packages (from pandas-datareader>=0.2->empyrical>=0.5.0->pyfolio@ git+https://github.com/quantopian/pyfolio.git#egg=pyfolio-0.9.2->finrl==0.3.2) (2.23.0)\n",
      "Requirement already satisfied: lxml in /usr/local/lib/python3.7/dist-packages (from pandas-datareader>=0.2->empyrical>=0.5.0->pyfolio@ git+https://github.com/quantopian/pyfolio.git#egg=pyfolio-0.9.2->finrl==0.3.2) (4.2.6)\n",
      "Requirement already satisfied: wcwidth in /usr/local/lib/python3.7/dist-packages (from prompt-toolkit<2.0.0,>=1.0.4->ipython>=3.2.3->pyfolio@ git+https://github.com/quantopian/pyfolio.git#egg=pyfolio-0.9.2->finrl==0.3.2) (0.2.5)\n",
      "Requirement already satisfied: future in /usr/local/lib/python3.7/dist-packages (from pyglet<=1.5.0,>=1.4.0->gym>=0.17->finrl==0.3.2) (0.16.0)\n",
      "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.7/dist-packages (from requests>=2.19.0->pandas-datareader>=0.2->empyrical>=0.5.0->pyfolio@ git+https://github.com/quantopian/pyfolio.git#egg=pyfolio-0.9.2->finrl==0.3.2) (2021.5.30)\n",
      "Requirement already satisfied: idna<3,>=2.5 in /usr/local/lib/python3.7/dist-packages (from requests>=2.19.0->pandas-datareader>=0.2->empyrical>=0.5.0->pyfolio@ git+https://github.com/quantopian/pyfolio.git#egg=pyfolio-0.9.2->finrl==0.3.2) (2.10)\n",
      "Requirement already satisfied: chardet<4,>=3.0.2 in /usr/local/lib/python3.7/dist-packages (from requests>=2.19.0->pandas-datareader>=0.2->empyrical>=0.5.0->pyfolio@ git+https://github.com/quantopian/pyfolio.git#egg=pyfolio-0.9.2->finrl==0.3.2) (3.0.4)\n",
      "Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in /usr/local/lib/python3.7/dist-packages (from requests>=2.19.0->pandas-datareader>=0.2->empyrical>=0.5.0->pyfolio@ git+https://github.com/quantopian/pyfolio.git#egg=pyfolio-0.9.2->finrl==0.3.2) (1.24.3)\n",
      "Requirement already satisfied: joblib>=0.11 in /usr/local/lib/python3.7/dist-packages (from scikit-learn>=0.21.0->finrl==0.3.2) (1.0.1)\n",
      "Requirement already satisfied: msgpack==1.0.2 in /usr/local/lib/python3.7/dist-packages (from alpaca_trade_api->finrl==0.3.2) (1.0.2)\n",
      "Collecting PyYAML==5.4.1\n",
      "  Downloading PyYAML-5.4.1-cp37-cp37m-manylinux1_x86_64.whl (636 kB)\n",
      "\u001b[K     |████████████████████████████████| 636 kB 72.5 MB/s \n",
      "\u001b[?25hCollecting websocket-client<2,>=0.56.0\n",
      "  Downloading websocket_client-1.2.1-py2.py3-none-any.whl (52 kB)\n",
      "\u001b[K     |████████████████████████████████| 52 kB 1.7 MB/s \n",
      "\u001b[?25hCollecting aiohttp==3.7.4\n",
      "  Downloading aiohttp-3.7.4-cp37-cp37m-manylinux2014_x86_64.whl (1.3 MB)\n",
      "\u001b[K     |████████████████████████████████| 1.3 MB 51.9 MB/s \n",
      "\u001b[?25hCollecting websockets<10,>=8.0\n",
      "  Downloading websockets-9.1-cp37-cp37m-manylinux2010_x86_64.whl (103 kB)\n",
      "\u001b[K     |████████████████████████████████| 103 kB 98.4 MB/s \n",
      "\u001b[?25hRequirement already satisfied: typing-extensions>=3.6.5 in /usr/local/lib/python3.7/dist-packages (from aiohttp==3.7.4->alpaca_trade_api->finrl==0.3.2) (3.7.4.3)\n",
      "Collecting yarl<2.0,>=1.0\n",
      "  Downloading yarl-1.6.3-cp37-cp37m-manylinux2014_x86_64.whl (294 kB)\n",
      "\u001b[K     |████████████████████████████████| 294 kB 90.0 MB/s \n",
      "\u001b[?25hRequirement already satisfied: attrs>=17.3.0 in /usr/local/lib/python3.7/dist-packages (from aiohttp==3.7.4->alpaca_trade_api->finrl==0.3.2) (21.2.0)\n",
      "Collecting multidict<7.0,>=4.5\n",
      "  Downloading multidict-5.2.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (160 kB)\n",
      "\u001b[K     |████████████████████████████████| 160 kB 56.7 MB/s \n",
      "\u001b[?25hCollecting async-timeout<4.0,>=3.0\n",
      "  Downloading async_timeout-3.0.1-py3-none-any.whl (8.2 kB)\n",
      "Collecting aiodns>=1.1.1\n",
      "  Downloading aiodns-3.0.0-py3-none-any.whl (5.0 kB)\n",
      "Collecting cryptography>=2.6.1\n",
      "  Downloading cryptography-35.0.0-cp36-abi3-manylinux_2_24_x86_64.whl (3.5 MB)\n",
      "\u001b[K     |████████████████████████████████| 3.5 MB 55.7 MB/s \n",
      "\u001b[?25hCollecting pycares>=4.0.0\n",
      "  Downloading pycares-4.0.0-cp37-cp37m-manylinux2010_x86_64.whl (291 kB)\n",
      "\u001b[K     |████████████████████████████████| 291 kB 76.7 MB/s \n",
      "\u001b[?25hRequirement already satisfied: cffi>=1.12 in /usr/local/lib/python3.7/dist-packages (from cryptography>=2.6.1->ccxt->finrl==0.3.2) (1.14.6)\n",
      "Requirement already satisfied: pycparser in /usr/local/lib/python3.7/dist-packages (from cffi>=1.12->cryptography>=2.6.1->ccxt->finrl==0.3.2) (2.20)\n",
      "Collecting pyluach\n",
      "  Downloading pyluach-1.3.0-py3-none-any.whl (17 kB)\n",
      "Requirement already satisfied: toolz in /usr/local/lib/python3.7/dist-packages (from pandas_market_calendars->finrl==0.3.2) (0.11.1)\n",
      "Requirement already satisfied: korean_lunar_calendar in /usr/local/lib/python3.7/dist-packages (from pandas_market_calendars->finrl==0.3.2) (0.2.1)\n",
      "Collecting thriftpy2>=0.3.9\n",
      "  Downloading thriftpy2-0.4.14.tar.gz (361 kB)\n",
      "\u001b[K     |████████████████████████████████| 361 kB 89.4 MB/s \n",
      "\u001b[?25hCollecting pymysql>=0.7.6\n",
      "  Downloading PyMySQL-1.0.2-py3-none-any.whl (43 kB)\n",
      "\u001b[K     |████████████████████████████████| 43 kB 2.6 MB/s \n",
      "\u001b[?25hRequirement already satisfied: SQLAlchemy>=1.2.8 in /usr/local/lib/python3.7/dist-packages (from jqdatasdk->finrl==0.3.2) (1.4.25)\n",
      "Requirement already satisfied: greenlet!=0.4.17 in /usr/local/lib/python3.7/dist-packages (from SQLAlchemy>=1.2.8->jqdatasdk->finrl==0.3.2) (1.1.1)\n",
      "Requirement already satisfied: importlib-metadata in /usr/local/lib/python3.7/dist-packages (from SQLAlchemy>=1.2.8->jqdatasdk->finrl==0.3.2) (4.8.1)\n",
      "Collecting ply<4.0,>=3.4\n",
      "  Downloading ply-3.11-py2.py3-none-any.whl (49 kB)\n",
      "\u001b[K     |████████████████████████████████| 49 kB 7.5 MB/s \n",
      "\u001b[?25hRequirement already satisfied: zipp>=0.5 in /usr/local/lib/python3.7/dist-packages (from importlib-metadata->SQLAlchemy>=1.2.8->jqdatasdk->finrl==0.3.2) (3.5.0)\n",
      "Requirement already satisfied: ptyprocess>=0.5 in /usr/local/lib/python3.7/dist-packages (from pexpect->ipython>=3.2.3->pyfolio@ git+https://github.com/quantopian/pyfolio.git#egg=pyfolio-0.9.2->finrl==0.3.2) (0.7.0)\n",
      "Requirement already satisfied: pluggy<0.8,>=0.5 in /usr/local/lib/python3.7/dist-packages (from pytest->finrl==0.3.2) (0.7.1)\n",
      "Requirement already satisfied: atomicwrites>=1.0 in /usr/local/lib/python3.7/dist-packages (from pytest->finrl==0.3.2) (1.4.0)\n",
      "Requirement already satisfied: more-itertools>=4.0.0 in /usr/local/lib/python3.7/dist-packages (from pytest->finrl==0.3.2) (8.10.0)\n",
      "Requirement already satisfied: py>=1.5.0 in /usr/local/lib/python3.7/dist-packages (from pytest->finrl==0.3.2) (1.10.0)\n",
      "Collecting redis>=3.5.0\n",
      "  Downloading redis-3.5.3-py2.py3-none-any.whl (72 kB)\n",
      "\u001b[K     |████████████████████████████████| 72 kB 704 kB/s \n",
      "\u001b[?25hRequirement already satisfied: click>=7.0 in /usr/local/lib/python3.7/dist-packages (from ray[default]->finrl==0.3.2) (7.1.2)\n",
      "Requirement already satisfied: protobuf>=3.15.3 in /usr/local/lib/python3.7/dist-packages (from ray[default]->finrl==0.3.2) (3.17.3)\n",
      "Requirement already satisfied: filelock in /usr/local/lib/python3.7/dist-packages (from ray[default]->finrl==0.3.2) (3.0.12)\n",
      "Requirement already satisfied: grpcio>=1.28.1 in /usr/local/lib/python3.7/dist-packages (from ray[default]->finrl==0.3.2) (1.40.0)\n",
      "Collecting py-spy>=0.2.0\n",
      "  Downloading py_spy-0.3.10-py2.py3-none-manylinux_2_5_x86_64.manylinux1_x86_64.whl (3.2 MB)\n",
      "\u001b[K     |████████████████████████████████| 3.2 MB 66.9 MB/s \n",
      "\u001b[?25hRequirement already satisfied: prometheus-client>=0.7.1 in /usr/local/lib/python3.7/dist-packages (from ray[default]->finrl==0.3.2) (0.11.0)\n",
      "Collecting aioredis<2\n",
      "  Downloading aioredis-1.3.1-py3-none-any.whl (65 kB)\n",
      "\u001b[K     |████████████████████████████████| 65 kB 4.6 MB/s \n",
      "\u001b[?25hCollecting opencensus\n",
      "  Downloading opencensus-0.8.0-py2.py3-none-any.whl (128 kB)\n",
      "\u001b[K     |████████████████████████████████| 128 kB 86.4 MB/s \n",
      "\u001b[?25hCollecting aiohttp-cors\n",
      "  Downloading aiohttp_cors-0.7.0-py3-none-any.whl (27 kB)\n",
      "Requirement already satisfied: jsonschema in /usr/local/lib/python3.7/dist-packages (from ray[default]->finrl==0.3.2) (2.6.0)\n",
      "Collecting colorful\n",
      "  Downloading colorful-0.5.4-py2.py3-none-any.whl (201 kB)\n",
      "\u001b[K     |████████████████████████████████| 201 kB 94.2 MB/s \n",
      "\u001b[?25hCollecting gpustat\n",
      "  Downloading gpustat-0.6.0.tar.gz (78 kB)\n",
      "\u001b[K     |████████████████████████████████| 78 kB 9.2 MB/s \n",
      "\u001b[?25hCollecting hiredis\n",
      "  Downloading hiredis-2.0.0-cp37-cp37m-manylinux2010_x86_64.whl (85 kB)\n",
      "\u001b[K     |████████████████████████████████| 85 kB 5.0 MB/s \n",
      "\u001b[?25hRequirement already satisfied: nvidia-ml-py3>=7.352.0 in /usr/local/lib/python3.7/dist-packages (from gpustat->ray[default]->finrl==0.3.2) (7.352.0)\n",
      "Requirement already satisfied: psutil in /usr/local/lib/python3.7/dist-packages (from gpustat->ray[default]->finrl==0.3.2) (5.4.8)\n",
      "Collecting blessings>=1.6\n",
      "  Downloading blessings-1.7-py3-none-any.whl (18 kB)\n",
      "Requirement already satisfied: google-api-core<3.0.0,>=1.0.0 in /usr/local/lib/python3.7/dist-packages (from opencensus->ray[default]->finrl==0.3.2) (1.26.3)\n",
      "Collecting opencensus-context==0.1.2\n",
      "  Downloading opencensus_context-0.1.2-py2.py3-none-any.whl (4.4 kB)\n",
      "Requirement already satisfied: packaging>=14.3 in /usr/local/lib/python3.7/dist-packages (from google-api-core<3.0.0,>=1.0.0->opencensus->ray[default]->finrl==0.3.2) (21.0)\n",
      "Requirement already satisfied: googleapis-common-protos<2.0dev,>=1.6.0 in /usr/local/lib/python3.7/dist-packages (from google-api-core<3.0.0,>=1.0.0->opencensus->ray[default]->finrl==0.3.2) (1.53.0)\n",
      "Requirement already satisfied: google-auth<2.0dev,>=1.21.1 in /usr/local/lib/python3.7/dist-packages (from google-api-core<3.0.0,>=1.0.0->opencensus->ray[default]->finrl==0.3.2) (1.35.0)\n",
      "Requirement already satisfied: rsa<5,>=3.1.4 in /usr/local/lib/python3.7/dist-packages (from google-auth<2.0dev,>=1.21.1->google-api-core<3.0.0,>=1.0.0->opencensus->ray[default]->finrl==0.3.2) (4.7.2)\n",
      "Requirement already satisfied: cachetools<5.0,>=2.0.0 in /usr/local/lib/python3.7/dist-packages (from google-auth<2.0dev,>=1.21.1->google-api-core<3.0.0,>=1.0.0->opencensus->ray[default]->finrl==0.3.2) (4.2.2)\n",
      "Requirement already satisfied: pyasn1-modules>=0.2.1 in /usr/local/lib/python3.7/dist-packages (from google-auth<2.0dev,>=1.21.1->google-api-core<3.0.0,>=1.0.0->opencensus->ray[default]->finrl==0.3.2) (0.2.8)\n",
      "Requirement already satisfied: pyasn1<0.5.0,>=0.4.6 in /usr/local/lib/python3.7/dist-packages (from pyasn1-modules>=0.2.1->google-auth<2.0dev,>=1.21.1->google-api-core<3.0.0,>=1.0.0->opencensus->ray[default]->finrl==0.3.2) (0.4.8)\n",
      "Requirement already satisfied: tabulate in /usr/local/lib/python3.7/dist-packages (from ray[default]->finrl==0.3.2) (0.8.9)\n",
      "Requirement already satisfied: torch>=1.8.1 in /usr/local/lib/python3.7/dist-packages (from stable-baselines3[extra]->finrl==0.3.2) (1.9.0+cu102)\n",
      "Requirement already satisfied: tensorboard>=2.2.0 in /usr/local/lib/python3.7/dist-packages (from stable-baselines3[extra]->finrl==0.3.2) (2.6.0)\n",
      "Requirement already satisfied: pillow in /usr/local/lib/python3.7/dist-packages (from stable-baselines3[extra]->finrl==0.3.2) (7.1.2)\n",
      "Requirement already satisfied: atari-py~=0.2.0 in /usr/local/lib/python3.7/dist-packages (from stable-baselines3[extra]->finrl==0.3.2) (0.2.9)\n",
      "Requirement already satisfied: opencv-python in /usr/local/lib/python3.7/dist-packages (from stable-baselines3[extra]->finrl==0.3.2) (4.1.2.30)\n",
      "Requirement already satisfied: markdown>=2.6.8 in /usr/local/lib/python3.7/dist-packages (from tensorboard>=2.2.0->stable-baselines3[extra]->finrl==0.3.2) (3.3.4)\n",
      "Requirement already satisfied: absl-py>=0.4 in /usr/local/lib/python3.7/dist-packages (from tensorboard>=2.2.0->stable-baselines3[extra]->finrl==0.3.2) (0.12.0)\n",
      "Requirement already satisfied: google-auth-oauthlib<0.5,>=0.4.1 in /usr/local/lib/python3.7/dist-packages (from tensorboard>=2.2.0->stable-baselines3[extra]->finrl==0.3.2) (0.4.6)\n",
      "Requirement already satisfied: tensorboard-plugin-wit>=1.6.0 in /usr/local/lib/python3.7/dist-packages (from tensorboard>=2.2.0->stable-baselines3[extra]->finrl==0.3.2) (1.8.0)\n",
      "Requirement already satisfied: tensorboard-data-server<0.7.0,>=0.6.0 in /usr/local/lib/python3.7/dist-packages (from tensorboard>=2.2.0->stable-baselines3[extra]->finrl==0.3.2) (0.6.1)\n",
      "Requirement already satisfied: werkzeug>=0.11.15 in /usr/local/lib/python3.7/dist-packages (from tensorboard>=2.2.0->stable-baselines3[extra]->finrl==0.3.2) (1.0.1)\n",
      "Requirement already satisfied: requests-oauthlib>=0.7.0 in /usr/local/lib/python3.7/dist-packages (from google-auth-oauthlib<0.5,>=0.4.1->tensorboard>=2.2.0->stable-baselines3[extra]->finrl==0.3.2) (1.3.0)\n",
      "Requirement already satisfied: oauthlib>=3.0.0 in /usr/local/lib/python3.7/dist-packages (from requests-oauthlib>=0.7.0->google-auth-oauthlib<0.5,>=0.4.1->tensorboard>=2.2.0->stable-baselines3[extra]->finrl==0.3.2) (3.1.1)\n",
      "Collecting int-date>=0.1.7\n",
      "  Downloading int_date-0.1.8-py2.py3-none-any.whl (5.0 kB)\n",
      "Collecting mock\n",
      "  Downloading mock-4.0.3-py3-none-any.whl (28 kB)\n",
      "Collecting psycopg2-binary\n",
      "  Downloading psycopg2_binary-2.9.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.4 MB)\n",
      "\u001b[K     |████████████████████████████████| 3.4 MB 71.6 MB/s \n",
      "\u001b[?25hRequirement already satisfied: multitasking>=0.0.7 in /usr/local/lib/python3.7/dist-packages (from yfinance->finrl==0.3.2) (0.0.9)\n",
      "Collecting lxml\n",
      "  Downloading lxml-4.6.3-cp37-cp37m-manylinux2014_x86_64.whl (6.3 MB)\n",
      "\u001b[K     |████████████████████████████████| 6.3 MB 72.4 MB/s \n",
      "\u001b[?25hBuilding wheels for collected packages: finrl, pyfolio, empyrical, exchange-calendars, gputil, thriftpy2, gpustat, yfinance\n",
      "  Building wheel for finrl (setup.py) ... \u001b[?25l\u001b[?25hdone\n",
      "  Created wheel for finrl: filename=finrl-0.3.2-py3-none-any.whl size=3889717 sha256=f118a7eb29f078467a6e23f781b739badf85b1635f506d1fcaa8be5352ab6722\n",
      "  Stored in directory: /tmp/pip-ephem-wheel-cache-51wl13bp/wheels/17/ff/bd/1bc602a0352762b0b24041b88536d803ae343ed0a711fcf55e\n",
      "  Building wheel for pyfolio (setup.py) ... \u001b[?25l\u001b[?25hdone\n",
      "  Created wheel for pyfolio: filename=pyfolio-0.9.2+75.g4b901f6-py3-none-any.whl size=75775 sha256=4a43e25dfaa0e9c64c1b6c01873a5d67633ab67b3fd1b8813f021c5e02e7c867\n",
      "  Stored in directory: /tmp/pip-ephem-wheel-cache-51wl13bp/wheels/ef/09/e5/2c1bf37c050d22557c080deb1be986d06424627c04aeca19b9\n",
      "  Building wheel for empyrical (setup.py) ... \u001b[?25l\u001b[?25hdone\n",
      "  Created wheel for empyrical: filename=empyrical-0.5.5-py3-none-any.whl size=39777 sha256=ba9e895d1fdf4df1ffdcc36d48f1b2bc0a5f81d152f40aecf43e0a7ec33035d7\n",
      "  Stored in directory: /root/.cache/pip/wheels/d9/91/4b/654fcff57477efcf149eaca236da2fce991526cbab431bf312\n",
      "  Building wheel for exchange-calendars (setup.py) ... \u001b[?25l\u001b[?25hdone\n",
      "  Created wheel for exchange-calendars: filename=pandas_market_calendars-3.3-py3-none-any.whl size=164233 sha256=bef0d30d6eed74e53fda15af9a278e3f2d149cc7dbad846fc1966b13afdbffe9\n",
      "  Stored in directory: /root/.cache/pip/wheels/37/39/46/7f1bb676a570d898a7a6ee7a25d9f239134465db32e09647d5\n",
      "  Building wheel for gputil (setup.py) ... \u001b[?25l\u001b[?25hdone\n",
      "  Created wheel for gputil: filename=GPUtil-1.4.0-py3-none-any.whl size=7411 sha256=bbfcd581c496bca8ffab88d61eaaaaf6d181df58646704d689d12a40b54c4257\n",
      "  Stored in directory: /root/.cache/pip/wheels/6e/f8/83/534c52482d6da64622ddbf72cd93c35d2ef2881b78fd08ff0c\n",
      "  Building wheel for thriftpy2 (setup.py) ... \u001b[?25l\u001b[?25hdone\n",
      "  Created wheel for thriftpy2: filename=thriftpy2-0.4.14-cp37-cp37m-linux_x86_64.whl size=940437 sha256=3eaf4332a1b6ffed7f460484971f5485bbc04734030c9bd5227df56615cb72b0\n",
      "  Stored in directory: /root/.cache/pip/wheels/2a/f5/49/9c0d851aa64b58db72883cf9393cc824d536bdf13f5c83cff4\n",
      "  Building wheel for gpustat (setup.py) ... \u001b[?25l\u001b[?25hdone\n",
      "  Created wheel for gpustat: filename=gpustat-0.6.0-py3-none-any.whl size=12617 sha256=78ffb03cc9cf21cf52163df6364f0714f04fd784815cf463cb64e14afbb9f08b\n",
      "  Stored in directory: /root/.cache/pip/wheels/e6/67/af/f1ad15974b8fd95f59a63dbf854483ebe5c7a46a93930798b8\n",
      "  Building wheel for yfinance (setup.py) ... \u001b[?25l\u001b[?25hdone\n",
      "  Created wheel for yfinance: filename=yfinance-0.1.63-py2.py3-none-any.whl size=23918 sha256=44a1be350ca8a6280766ec4c17aede65cb9fcb7cf2f01f616e6b1620608146de\n",
      "  Stored in directory: /root/.cache/pip/wheels/fe/87/8b/7ec24486e001d3926537f5f7801f57a74d181be25b11157983\n",
      "Successfully built finrl pyfolio empyrical exchange-calendars gputil thriftpy2 gpustat yfinance\n",
      "Installing collected packages: multidict, yarl, lxml, async-timeout, redis, PyYAML, pycares, ply, opencensus-context, hiredis, blessings, aiohttp, websockets, websocket-client, thriftpy2, tensorboardX, stable-baselines3, ray, pymysql, pyluach, py-spy, psycopg2-binary, opencensus, mock, int-date, gpustat, empyrical, cryptography, colorful, aioredis, aiohttp-cors, aiodns, yfinance, wrds, stockstats, pyfolio, lz4, jqdatasdk, gputil, exchange-calendars, ccxt, alpaca-trade-api, finrl\n",
      "  Attempting uninstall: lxml\n",
      "    Found existing installation: lxml 4.2.6\n",
      "    Uninstalling lxml-4.2.6:\n",
      "      Successfully uninstalled lxml-4.2.6\n",
      "  Attempting uninstall: PyYAML\n",
      "    Found existing installation: PyYAML 3.13\n",
      "    Uninstalling PyYAML-3.13:\n",
      "      Successfully uninstalled PyYAML-3.13\n",
      "Successfully installed PyYAML-5.4.1 aiodns-3.0.0 aiohttp-3.7.4 aiohttp-cors-0.7.0 aioredis-1.3.1 alpaca-trade-api-1.4.0 async-timeout-3.0.1 blessings-1.7 ccxt-1.57.46 colorful-0.5.4 cryptography-35.0.0 empyrical-0.5.5 exchange-calendars-3.3 finrl-0.3.2 gpustat-0.6.0 gputil-1.4.0 hiredis-2.0.0 int-date-0.1.8 jqdatasdk-1.8.10 lxml-4.6.3 lz4-3.1.3 mock-4.0.3 multidict-5.2.0 opencensus-0.8.0 opencensus-context-0.1.2 ply-3.11 psycopg2-binary-2.9.1 py-spy-0.3.10 pycares-4.0.0 pyfolio-0.9.2+75.g4b901f6 pyluach-1.3.0 pymysql-1.0.2 ray-1.6.0 redis-3.5.3 stable-baselines3-1.2.0 stockstats-0.3.2 tensorboardX-2.4 thriftpy2-0.4.14 websocket-client-1.2.1 websockets-9.1 wrds-3.1.1 yarl-1.6.3 yfinance-0.1.63\n",
      "Collecting PyPortfolioOpt\n",
      "  Downloading PyPortfolioOpt-1.4.2-py3-none-any.whl (60 kB)\n",
      "\u001b[K     |████████████████████████████████| 60 kB 4.7 MB/s \n",
      "\u001b[?25hRequirement already satisfied: pandas>=0.19 in /usr/local/lib/python3.7/dist-packages (from PyPortfolioOpt) (1.1.5)\n",
      "Requirement already satisfied: numpy<2.0,>=1.12 in /usr/local/lib/python3.7/dist-packages (from PyPortfolioOpt) (1.19.5)\n",
      "Collecting cvxpy<2.0.0,>=1.1.10\n",
      "  Downloading cvxpy-1.1.15-cp37-cp37m-manylinux_2_24_x86_64.whl (2.7 MB)\n",
      "\u001b[K     |████████████████████████████████| 2.7 MB 17.1 MB/s \n",
      "\u001b[?25hRequirement already satisfied: scipy<2.0,>=1.3 in /usr/local/lib/python3.7/dist-packages (from PyPortfolioOpt) (1.4.1)\n",
      "Requirement already satisfied: ecos>=2 in /usr/local/lib/python3.7/dist-packages (from cvxpy<2.0.0,>=1.1.10->PyPortfolioOpt) (2.0.7.post1)\n",
      "Requirement already satisfied: scs>=1.1.6 in /usr/local/lib/python3.7/dist-packages (from cvxpy<2.0.0,>=1.1.10->PyPortfolioOpt) (2.1.4)\n",
      "Requirement already satisfied: osqp>=0.4.1 in /usr/local/lib/python3.7/dist-packages (from cvxpy<2.0.0,>=1.1.10->PyPortfolioOpt) (0.6.2.post0)\n",
      "Requirement already satisfied: qdldl in /usr/local/lib/python3.7/dist-packages (from osqp>=0.4.1->cvxpy<2.0.0,>=1.1.10->PyPortfolioOpt) (0.1.5.post0)\n",
      "Requirement already satisfied: pytz>=2017.2 in /usr/local/lib/python3.7/dist-packages (from pandas>=0.19->PyPortfolioOpt) (2018.9)\n",
      "Requirement already satisfied: python-dateutil>=2.7.3 in /usr/local/lib/python3.7/dist-packages (from pandas>=0.19->PyPortfolioOpt) (2.8.2)\n",
      "Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.7/dist-packages (from python-dateutil>=2.7.3->pandas>=0.19->PyPortfolioOpt) (1.15.0)\n",
      "Installing collected packages: cvxpy, PyPortfolioOpt\n",
      "  Attempting uninstall: cvxpy\n",
      "    Found existing installation: cvxpy 1.0.31\n",
      "    Uninstalling cvxpy-1.0.31:\n",
      "      Successfully uninstalled cvxpy-1.0.31\n",
      "Successfully installed PyPortfolioOpt-1.4.2 cvxpy-1.1.15\n"
     ]
    }
   ],
   "source": [
    "## install finrl library\n",
    "!pip install plotly==4.4.1\n",
    "!wget https://github.com/plotly/orca/releases/download/v1.2.1/orca-1.2.1-x86_64.AppImage -O /usr/local/bin/orca\n",
    "!chmod +x /usr/local/bin/orca\n",
    "!apt-get install xvfb libgtk2.0-0 libgconf-2-4\n",
    "!pip install wrds\n",
    "!pip install swig\n",
    "!pip install -q condacolab\n",
    "import condacolab\n",
    "condacolab.install()\n",
    "!apt-get update -y -qq && apt-get install -y -qq cmake libopenmpi-dev python3-dev zlib1g-dev libgl1-mesa-glx swig\n",
    "!pip install git+https://github.com/AI4Finance-Foundation/FinRL.git\n",
    "!pip install PyPortfolioOpt\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "h2568cp5bU38"
   },
   "source": [
    "\n",
    "<a id='1.2'></a>\n",
    "## 2.2. Check if the additional packages needed are present, if not install them. \n",
    "* Yahoo Finance API\n",
    "* pandas\n",
    "* numpy\n",
    "* matplotlib\n",
    "* stockstats\n",
    "* OpenAI gym\n",
    "* stable-baselines\n",
    "* tensorflow\n",
    "* pyfolio"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "bNmvYN9YbU4B"
   },
   "source": [
    "<a id='1.3'></a>\n",
    "## 2.3. Import Packages"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": false
   },
   "source": [
    "<a id='1.4'></a>\n",
    "## 2.4. Create Folders"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "id": "B8bBq7nsBCfF"
   },
   "outputs": [],
   "source": [
    "import os\n",
    "from finrl import config\n",
    "from finrl import config_tickers\n",
    "\n",
    "if not os.path.exists(\"./\" + config.DATA_SAVE_DIR):\n",
    "    os.makedirs(\"./\" + config.DATA_SAVE_DIR)\n",
    "if not os.path.exists(\"./\" + config.TRAINED_MODEL_DIR):\n",
    "    os.makedirs(\"./\" + config.TRAINED_MODEL_DIR)\n",
    "if not os.path.exists(\"./\" + config.TENSORBOARD_LOG_DIR):\n",
    "    os.makedirs(\"./\" + config.TENSORBOARD_LOG_DIR)\n",
    "if not os.path.exists(\"./\" + config.RESULTS_DIR):\n",
    "    os.makedirs(\"./\" + config.RESULTS_DIR)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "slBria_QbU4F"
   },
   "source": [
    "<a id='2'></a>\n",
    "# Part 3. Download Data\n",
    "Yahoo Finance is a website that provides stock data, financial news, financial reports, etc. All the data provided by Yahoo Finance is free.\n",
    "* FinRL uses a class **YahooDownloader** to fetch data from Yahoo Finance API\n",
    "* Call Limit: Using the Public API (without authentication), you are limited to 2,000 requests per hour per IP (or up to a total of 48,000 requests a day).\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "WEwzMkFHbU4G",
    "outputId": "5ef108ef-e7ed-4f2b-8818-b376197e7afb"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[*********************100%***********************]  1 of 1 completed\n",
      "[*********************100%***********************]  1 of 1 completed\n",
      "[*********************100%***********************]  1 of 1 completed\n",
      "[*********************100%***********************]  1 of 1 completed\n",
      "[*********************100%***********************]  1 of 1 completed\n",
      "[*********************100%***********************]  1 of 1 completed\n",
      "[*********************100%***********************]  1 of 1 completed\n",
      "[*********************100%***********************]  1 of 1 completed\n",
      "[*********************100%***********************]  1 of 1 completed\n",
      "[*********************100%***********************]  1 of 1 completed\n",
      "[*********************100%***********************]  1 of 1 completed\n",
      "[*********************100%***********************]  1 of 1 completed\n",
      "[*********************100%***********************]  1 of 1 completed\n",
      "[*********************100%***********************]  1 of 1 completed\n",
      "[*********************100%***********************]  1 of 1 completed\n",
      "[*********************100%***********************]  1 of 1 completed\n",
      "[*********************100%***********************]  1 of 1 completed\n",
      "[*********************100%***********************]  1 of 1 completed\n",
      "[*********************100%***********************]  1 of 1 completed\n",
      "[*********************100%***********************]  1 of 1 completed\n",
      "[*********************100%***********************]  1 of 1 completed\n",
      "[*********************100%***********************]  1 of 1 completed\n",
      "[*********************100%***********************]  1 of 1 completed\n",
      "[*********************100%***********************]  1 of 1 completed\n",
      "[*********************100%***********************]  1 of 1 completed\n",
      "[*********************100%***********************]  1 of 1 completed\n",
      "[*********************100%***********************]  1 of 1 completed\n",
      "[*********************100%***********************]  1 of 1 completed\n",
      "[*********************100%***********************]  1 of 1 completed\n",
      "[*********************100%***********************]  1 of 1 completed\n",
      "Shape of DataFrame:  (103207, 8)\n"
     ]
    }
   ],
   "source": [
    "df = YahooDownloader(start_date = '2008-01-01',\n",
    "                     end_date = '2021-09-02',\n",
    "                     ticker_list = config_tickers.DOW_30_TICKER).fetch_data()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "V9UwKwzRbU4l"
   },
   "source": [
    "# Part 4: Preprocess Data\n",
    "Data preprocessing is a crucial step for training a high quality machine learning model. We need to check for missing data and do feature engineering in order to convert the data into a model-ready state.\n",
    "* Add technical indicators. In practical trading, various information needs to be taken into account, for example the historical stock prices, current holding shares, technical indicators, etc. In this article, we demonstrate two trend-following technical indicators: MACD and RSI.\n",
    "* Add turbulence index. Risk-aversion reflects whether an investor will choose to preserve the capital. It also influences one's trading strategy when facing different market volatility level. To control the risk in a worst-case scenario, such as financial crisis of 2007–2008, FinRL employs the financial turbulence index that measures extreme asset price fluctuation."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "P5h8RbeBHMDQ",
    "outputId": "c3b3d4ee-99d1-4dd1-dcbd-b153926cf1e2"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Successfully added technical indicators\n"
     ]
    }
   ],
   "source": [
    "fe = FeatureEngineer(\n",
    "                    use_technical_indicator=True,\n",
    "                    use_turbulence=False,\n",
    "                    user_defined_feature = False)\n",
    "\n",
    "df = fe.preprocess_data(df)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "qz9K2vul6RmK"
   },
   "source": [
    "## Add covariance matrix as states"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "id": "iHVFkbWJ9_Rj"
   },
   "outputs": [],
   "source": [
    "# add covariance matrix as states\n",
    "df=df.sort_values(['date','tic'],ignore_index=True)\n",
    "df.index = df.date.factorize()[0]\n",
    "\n",
    "cov_list = []\n",
    "return_list = []\n",
    "\n",
    "# look back is one year\n",
    "lookback=252\n",
    "for i in range(lookback,len(df.index.unique())):\n",
    "  data_lookback = df.loc[i-lookback:i,:]\n",
    "  price_lookback=data_lookback.pivot_table(index = 'date',columns = 'tic', values = 'close')\n",
    "  return_lookback = price_lookback.pct_change().dropna()\n",
    "  return_list.append(return_lookback)\n",
    "\n",
    "  covs = return_lookback.cov().values \n",
    "  cov_list.append(covs)\n",
    "\n",
    "  \n",
    "df_cov = pd.DataFrame({'date':df.date.unique()[lookback:],'cov_list':cov_list,'return_list':return_list})\n",
    "df = df.merge(df_cov, on='date')\n",
    "df = df.sort_values(['date','tic']).reset_index(drop=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "UooHj1OgbU4v"
   },
   "source": [
    "<a id='4'></a>\n",
    "# Part 5. Design Environment\n",
    "Considering the stochastic and interactive nature of the automated stock trading tasks, a financial task is modeled as a **Markov Decision Process (MDP)** problem. The training process involves observing stock price change, taking an action and reward's calculation to have the agent adjusting its strategy accordingly. By interacting with the environment, the trading agent will derive a trading strategy with the maximized rewards as time proceeds.\n",
    "\n",
    "Our trading environments, based on OpenAI Gym framework, simulate live stock markets with real market data according to the principle of time-driven simulation.\n",
    "\n",
    "The action space describes the allowed portfolio weights that the agent interacts with the environment. Each element in the portfolio weights vector is non-negative and no more than 100%. Also, the sum of elements in each portfolio weight should equal to 100%."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "MQnmN1qdk88I"
   },
   "source": [
    "## Training data split: 2009-01-01 to 2020-06-30"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "id": "NrPxgv4eBQ_R"
   },
   "outputs": [],
   "source": [
    "train = data_split(df, '2009-01-01','2020-06-30')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "sxQTNjpblAMN"
   },
   "source": [
    "\n",
    "## Environment for Portfolio Allocation\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "id": "xlfE-VERbU40"
   },
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "from gym.utils import seeding\n",
    "import gym\n",
    "from gym import spaces\n",
    "import matplotlib\n",
    "matplotlib.use('Agg')\n",
    "import matplotlib.pyplot as plt\n",
    "from stable_baselines3.common.vec_env import DummyVecEnv\n",
    "\n",
    "\n",
    "class StockPortfolioEnv(gym.Env):\n",
    "    \"\"\"A portfolio allocation environment for OpenAI gym\n",
    "\n",
    "    Attributes\n",
    "    ----------\n",
    "        df: DataFrame\n",
    "            input data\n",
    "        stock_dim : int\n",
    "            number of unique stocks\n",
    "        hmax : int\n",
    "            maximum number of shares to trade\n",
    "        initial_amount : int\n",
    "            start money\n",
    "        transaction_cost_pct: float\n",
    "            transaction cost percentage per trade\n",
    "        reward_scaling: float\n",
    "            scaling factor for reward, good for training\n",
    "        state_space: int\n",
    "            the dimension of input features\n",
    "        action_space: int\n",
    "            equals stock dimension\n",
    "        tech_indicator_list: list\n",
    "            a list of technical indicator names\n",
    "        turbulence_threshold: int\n",
    "            a threshold to control risk aversion\n",
    "        day: int\n",
    "            an increment number to control date\n",
    "\n",
    "    Methods\n",
    "    -------\n",
    "    _sell_stock()\n",
    "        perform sell action based on the sign of the action\n",
    "    _buy_stock()\n",
    "        perform buy action based on the sign of the action\n",
    "    step()\n",
    "        at each step the agent will return actions, then \n",
    "        we will calculate the reward, and return the next observation.\n",
    "    reset()\n",
    "        reset the environment\n",
    "    render()\n",
    "        use render to return other functions\n",
    "    save_asset_memory()\n",
    "        return account value at each time step\n",
    "    save_action_memory()\n",
    "        return actions/positions at each time step\n",
    "        \n",
    "\n",
    "    \"\"\"\n",
    "    metadata = {'render.modes': ['human']}\n",
    "\n",
    "    def __init__(self, \n",
    "                df,\n",
    "                stock_dim,\n",
    "                hmax,\n",
    "                initial_amount,\n",
    "                transaction_cost_pct,\n",
    "                reward_scaling,\n",
    "                state_space,\n",
    "                action_space,\n",
    "                tech_indicator_list,\n",
    "                turbulence_threshold=None,\n",
    "                lookback=252,\n",
    "                day = 0):\n",
    "        #super(StockEnv, self).__init__()\n",
    "        #money = 10 , scope = 1\n",
    "        self.day = day\n",
    "        self.lookback=lookback\n",
    "        self.df = df\n",
    "        self.stock_dim = stock_dim\n",
    "        self.hmax = hmax\n",
    "        self.initial_amount = initial_amount\n",
    "        self.transaction_cost_pct =transaction_cost_pct\n",
    "        self.reward_scaling = reward_scaling\n",
    "        self.state_space = state_space\n",
    "        self.action_space = action_space\n",
    "        self.tech_indicator_list = tech_indicator_list\n",
    "\n",
    "        # action_space normalization and shape is self.stock_dim\n",
    "        self.action_space = spaces.Box(low = 0, high = 1,shape = (self.action_space,)) \n",
    "        self.observation_space = spaces.Box(low=-np.inf, high=np.inf, shape = (self.state_space+len(self.tech_indicator_list),self.state_space))\n",
    "\n",
    "        # load data from a pandas dataframe\n",
    "        self.data = self.df.loc[self.day,:]\n",
    "        self.covs = self.data['cov_list'].values[0]\n",
    "        self.state =  np.append(np.array(self.covs), [self.data[tech].values.tolist() for tech in self.tech_indicator_list ], axis=0)\n",
    "        self.terminal = False     \n",
    "        self.turbulence_threshold = turbulence_threshold        \n",
    "        # initalize state: inital portfolio return + individual stock return + individual weights\n",
    "        self.portfolio_value = self.initial_amount\n",
    "\n",
    "        # memorize portfolio value each step\n",
    "        self.asset_memory = [self.initial_amount]\n",
    "        # memorize portfolio return each step\n",
    "        self.portfolio_return_memory = [0]\n",
    "        self.actions_memory=[[1/self.stock_dim]*self.stock_dim]\n",
    "        self.date_memory=[self.data.date.unique()[0]]\n",
    "\n",
    "        \n",
    "    def step(self, actions):\n",
    "        self.terminal = self.day >= len(self.df.index.unique())-1\n",
    "\n",
    "        if self.terminal:\n",
    "            df = pd.DataFrame(self.portfolio_return_memory)\n",
    "            df.columns = ['daily_return']\n",
    "            plt.plot(df.daily_return.cumsum(),'r')\n",
    "            plt.savefig('results/cumulative_reward.png')\n",
    "            plt.close()\n",
    "            \n",
    "            plt.plot(self.portfolio_return_memory,'r')\n",
    "            plt.savefig('results/rewards.png')\n",
    "            plt.close()\n",
    "\n",
    "            print(\"=================================\")\n",
    "            print(\"begin_total_asset:{}\".format(self.asset_memory[0]))           \n",
    "            print(\"end_total_asset:{}\".format(self.portfolio_value))\n",
    "\n",
    "            df_daily_return = pd.DataFrame(self.portfolio_return_memory)\n",
    "            df_daily_return.columns = ['daily_return']\n",
    "            if df_daily_return['daily_return'].std() !=0:\n",
    "              sharpe = (252**0.5)*df_daily_return['daily_return'].mean()/ \\\n",
    "                       df_daily_return['daily_return'].std()\n",
    "              print(\"Sharpe: \",sharpe)\n",
    "            print(\"=================================\")\n",
    "            \n",
    "            return self.state, self.reward, self.terminal,{}\n",
    "\n",
    "        else:\n",
    "            weights = self.softmax_normalization(actions) \n",
    "            self.actions_memory.append(weights)\n",
    "            last_day_memory = self.data\n",
    "\n",
    "            #load next state\n",
    "            self.day += 1\n",
    "            self.data = self.df.loc[self.day,:]\n",
    "            self.covs = self.data['cov_list'].values[0]\n",
    "            self.state =  np.append(np.array(self.covs), [self.data[tech].values.tolist() for tech in self.tech_indicator_list ], axis=0)\n",
    "            portfolio_return = sum(((self.data.close.values / last_day_memory.close.values)-1)*weights)\n",
    "            log_portfolio_return = np.log(sum((self.data.close.values / last_day_memory.close.values)*weights))\n",
    "            # update portfolio value\n",
    "            new_portfolio_value = self.portfolio_value*(1+portfolio_return)\n",
    "            self.portfolio_value = new_portfolio_value\n",
    "\n",
    "            # save into memory\n",
    "            self.portfolio_return_memory.append(portfolio_return)\n",
    "            self.date_memory.append(self.data.date.unique()[0])            \n",
    "            self.asset_memory.append(new_portfolio_value)\n",
    "\n",
    "            # the reward is the new portfolio value or end portfolo value\n",
    "            self.reward = new_portfolio_value\n",
    "            \n",
    "\n",
    "        return self.state, self.reward, self.terminal, {}\n",
    "\n",
    "    def reset(self):\n",
    "        self.asset_memory = [self.initial_amount]\n",
    "        self.day = 0\n",
    "        self.data = self.df.loc[self.day,:]\n",
    "        # load states\n",
    "        self.covs = self.data['cov_list'].values[0]\n",
    "        self.state =  np.append(np.array(self.covs), [self.data[tech].values.tolist() for tech in self.tech_indicator_list ], axis=0)\n",
    "        self.portfolio_value = self.initial_amount\n",
    "        #self.cost = 0\n",
    "        #self.trades = 0\n",
    "        self.terminal = False \n",
    "        self.portfolio_return_memory = [0]\n",
    "        self.actions_memory=[[1/self.stock_dim]*self.stock_dim]\n",
    "        self.date_memory=[self.data.date.unique()[0]] \n",
    "        return self.state\n",
    "    \n",
    "    def render(self, mode='human'):\n",
    "        return self.state\n",
    "        \n",
    "    def softmax_normalization(self, actions):\n",
    "        numerator = np.exp(actions)\n",
    "        denominator = np.sum(np.exp(actions))\n",
    "        softmax_output = numerator/denominator\n",
    "        return softmax_output\n",
    "\n",
    "    \n",
    "    def save_asset_memory(self):\n",
    "        date_list = self.date_memory\n",
    "        portfolio_return = self.portfolio_return_memory\n",
    "        #print(len(date_list))\n",
    "        #print(len(asset_list))\n",
    "        df_account_value = pd.DataFrame({'date':date_list,'daily_return':portfolio_return})\n",
    "        return df_account_value\n",
    "\n",
    "    def save_action_memory(self):\n",
    "        # date and close price length must match actions length\n",
    "        date_list = self.date_memory\n",
    "        df_date = pd.DataFrame(date_list)\n",
    "        df_date.columns = ['date']\n",
    "        \n",
    "        action_list = self.actions_memory\n",
    "        df_actions = pd.DataFrame(action_list)\n",
    "        df_actions.columns = self.data.tic.values\n",
    "        df_actions.index = df_date.date\n",
    "        #df_actions = pd.DataFrame({'date':date_list,'actions':action_list})\n",
    "        return df_actions\n",
    "\n",
    "    def _seed(self, seed=None):\n",
    "        self.np_random, seed = seeding.np_random(seed)\n",
    "        return [seed]\n",
    "\n",
    "    def get_sb_env(self):\n",
    "        e = DummyVecEnv([lambda: self])\n",
    "        obs = e.reset()\n",
    "        return e, obs"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "MzD06X0CbU43",
    "outputId": "5a61db56-e29e-4377-cb7b-0b8e3608754d"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Stock Dimension: 29, State Space: 29\n"
     ]
    }
   ],
   "source": [
    "stock_dimension = len(train.tic.unique())\n",
    "state_space = stock_dimension\n",
    "print(f\"Stock Dimension: {stock_dimension}, State Space: {state_space}\")\n",
    "tech_indicator_list = ['macd', 'rsi_30', 'cci_30', 'dx_30']\n",
    "feature_dimension = len(tech_indicator_list)\n",
    "print(f\"Feature Dimension: {feature_dimension}\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "id": "jyg0_ZuVEVQ5"
   },
   "outputs": [],
   "source": [
    "env_kwargs = {\n",
    "    \"hmax\": 100, \n",
    "    \"initial_amount\": 1000000, \n",
    "    \"transaction_cost_pct\": 0, \n",
    "    \"state_space\": state_space, \n",
    "    \"stock_dim\": stock_dimension, \n",
    "    \"tech_indicator_list\": tech_indicator_list, \n",
    "    \"action_space\": stock_dimension, \n",
    "    \"reward_scaling\": 1e-1\n",
    "    \n",
    "}\n",
    "\n",
    "e_train_gym = StockPortfolioEnv(df = train, **env_kwargs)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "HTlOf8SJGdkl",
    "outputId": "8ab5be70-5b2f-4142-facb-b5303ba23f29"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'stable_baselines3.common.vec_env.dummy_vec_env.DummyVecEnv'>\n"
     ]
    }
   ],
   "source": [
    "env_train, _ = e_train_gym.get_sb_env()\n",
    "print(type(env_train))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "2eKIu5UPlPnk"
   },
   "source": [
    "<a id='5'></a>\n",
    "# Part 6: Implement DRL Algorithms\n",
    "* The implementation of the DRL algorithms are based on **OpenAI Baselines** and **Stable Baselines**. Stable Baselines is a fork of OpenAI Baselines, with a major structural refactoring, and code cleanups.\n",
    "* We use two DRL algorithms in FinRL library PPO andf A2C"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "hdPe8uzflbXe"
   },
   "source": [
    "### Model 1: **A2C**\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "t1tORf1fIcQ2",
    "outputId": "4d59c89e-d356-4434-b824-0aa7b79268a9"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'n_steps': 10, 'ent_coef': 0.005, 'learning_rate': 0.0004}\n",
      "Using cuda device\n"
     ]
    }
   ],
   "source": [
    "agent = DRLAgent(env = env_train)\n",
    "\n",
    "A2C_PARAMS = {\"n_steps\": 10, \"ent_coef\": 0.005, \"learning_rate\": 0.0004}\n",
    "model_a2c = agent.get_model(model_name=\"a2c\",model_kwargs = A2C_PARAMS)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "DazEdrMpIdyz",
    "outputId": "e1af7ec7-9703-4794-ff5c-608a807eb4f6"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Logging to tensorboard_log/a2c/a2c_1\n",
      "------------------------------------\n",
      "| time/                 |          |\n",
      "|    fps                | 251      |\n",
      "|    iterations         | 100      |\n",
      "|    time_elapsed       | 3        |\n",
      "|    total_timesteps    | 1000     |\n",
      "| train/                |          |\n",
      "|    entropy_loss       | -41.1    |\n",
      "|    explained_variance | 1.19e-07 |\n",
      "|    learning_rate      | 0.0004   |\n",
      "|    n_updates          | 99       |\n",
      "|    policy_loss        | 4.62e+08 |\n",
      "|    std                | 0.998    |\n",
      "|    value_loss         | 1.42e+14 |\n",
      "------------------------------------\n",
      "------------------------------------\n",
      "| time/                 |          |\n",
      "|    fps                | 298      |\n",
      "|    iterations         | 200      |\n",
      "|    time_elapsed       | 6        |\n",
      "|    total_timesteps    | 2000     |\n",
      "| train/                |          |\n",
      "|    entropy_loss       | -41.1    |\n",
      "|    explained_variance | 5.96e-08 |\n",
      "|    learning_rate      | 0.0004   |\n",
      "|    n_updates          | 199      |\n",
      "|    policy_loss        | 8.39e+08 |\n",
      "|    std                | 0.998    |\n",
      "|    value_loss         | 4.57e+14 |\n",
      "------------------------------------\n",
      "=================================\n",
      "begin_total_asset:1000000\n",
      "end_total_asset:4993128.531557257\n",
      "Sharpe:  0.8576915657325981\n",
      "=================================\n",
      "-------------------------------------\n",
      "| time/                 |           |\n",
      "|    fps                | 314       |\n",
      "|    iterations         | 300       |\n",
      "|    time_elapsed       | 9         |\n",
      "|    total_timesteps    | 3000      |\n",
      "| train/                |           |\n",
      "|    entropy_loss       | -41.1     |\n",
      "|    explained_variance | -1.19e-07 |\n",
      "|    learning_rate      | 0.0004    |\n",
      "|    n_updates          | 299       |\n",
      "|    policy_loss        | 2.22e+08  |\n",
      "|    std                | 0.998     |\n",
      "|    value_loss         | 3.96e+13  |\n",
      "-------------------------------------\n",
      "------------------------------------\n",
      "| time/                 |          |\n",
      "|    fps                | 327      |\n",
      "|    iterations         | 400      |\n",
      "|    time_elapsed       | 12       |\n",
      "|    total_timesteps    | 4000     |\n",
      "| train/                |          |\n",
      "|    entropy_loss       | -41.1    |\n",
      "|    explained_variance | 0        |\n",
      "|    learning_rate      | 0.0004   |\n",
      "|    n_updates          | 399      |\n",
      "|    policy_loss        | 4.85e+08 |\n",
      "|    std                | 0.997    |\n",
      "|    value_loss         | 1.87e+14 |\n",
      "------------------------------------\n",
      "------------------------------------\n",
      "| time/                 |          |\n",
      "|    fps                | 334      |\n",
      "|    iterations         | 500      |\n",
      "|    time_elapsed       | 14       |\n",
      "|    total_timesteps    | 5000     |\n",
      "| train/                |          |\n",
      "|    entropy_loss       | -41.1    |\n",
      "|    explained_variance | 5.96e-08 |\n",
      "|    learning_rate      | 0.0004   |\n",
      "|    n_updates          | 499      |\n",
      "|    policy_loss        | 8.08e+08 |\n",
      "|    std                | 0.997    |\n",
      "|    value_loss         | 4.98e+14 |\n",
      "------------------------------------\n",
      "=================================\n",
      "begin_total_asset:1000000\n",
      "end_total_asset:5222318.631298631\n",
      "Sharpe:  0.8778193683657894\n",
      "=================================\n",
      "------------------------------------\n",
      "| time/                 |          |\n",
      "|    fps                | 338      |\n",
      "|    iterations         | 600      |\n",
      "|    time_elapsed       | 17       |\n",
      "|    total_timesteps    | 6000     |\n",
      "| train/                |          |\n",
      "|    entropy_loss       | -41      |\n",
      "|    explained_variance | 0        |\n",
      "|    learning_rate      | 0.0004   |\n",
      "|    n_updates          | 599      |\n",
      "|    policy_loss        | 2.58e+08 |\n",
      "|    std                | 0.995    |\n",
      "|    value_loss         | 5.76e+13 |\n",
      "------------------------------------\n",
      "------------------------------------\n",
      "| time/                 |          |\n",
      "|    fps                | 342      |\n",
      "|    iterations         | 700      |\n",
      "|    time_elapsed       | 20       |\n",
      "|    total_timesteps    | 7000     |\n",
      "| train/                |          |\n",
      "|    entropy_loss       | -41      |\n",
      "|    explained_variance | 1.19e-07 |\n",
      "|    learning_rate      | 0.0004   |\n",
      "|    n_updates          | 699      |\n",
      "|    policy_loss        | 5.47e+08 |\n",
      "|    std                | 0.995    |\n",
      "|    value_loss         | 2.08e+14 |\n",
      "------------------------------------\n",
      "------------------------------------\n",
      "| time/                 |          |\n",
      "|    fps                | 345      |\n",
      "|    iterations         | 800      |\n",
      "|    time_elapsed       | 23       |\n",
      "|    total_timesteps    | 8000     |\n",
      "| train/                |          |\n",
      "|    entropy_loss       | -41      |\n",
      "|    explained_variance | 0        |\n",
      "|    learning_rate      | 0.0004   |\n",
      "|    n_updates          | 799      |\n",
      "|    policy_loss        | 9.01e+08 |\n",
      "|    std                | 0.994    |\n",
      "|    value_loss         | 5.95e+14 |\n",
      "------------------------------------\n",
      "=================================\n",
      "begin_total_asset:1000000\n",
      "end_total_asset:5211268.76850895\n",
      "Sharpe:  0.8769095230438648\n",
      "=================================\n",
      "------------------------------------\n",
      "| time/                 |          |\n",
      "|    fps                | 345      |\n",
      "|    iterations         | 900      |\n",
      "|    time_elapsed       | 26       |\n",
      "|    total_timesteps    | 9000     |\n",
      "| train/                |          |\n",
      "|    entropy_loss       | -41      |\n",
      "|    explained_variance | 5.96e-08 |\n",
      "|    learning_rate      | 0.0004   |\n",
      "|    n_updates          | 899      |\n",
      "|    policy_loss        | 3.12e+08 |\n",
      "|    std                | 0.995    |\n",
      "|    value_loss         | 7.14e+13 |\n",
      "------------------------------------\n",
      "------------------------------------\n",
      "| time/                 |          |\n",
      "|    fps                | 347      |\n",
      "|    iterations         | 1000     |\n",
      "|    time_elapsed       | 28       |\n",
      "|    total_timesteps    | 10000    |\n",
      "| train/                |          |\n",
      "|    entropy_loss       | -40.9    |\n",
      "|    explained_variance | 1.79e-07 |\n",
      "|    learning_rate      | 0.0004   |\n",
      "|    n_updates          | 999      |\n",
      "|    policy_loss        | 6.02e+08 |\n",
      "|    std                | 0.993    |\n",
      "|    value_loss         | 2.49e+14 |\n",
      "------------------------------------\n",
      "-------------------------------------\n",
      "| time/                 |           |\n",
      "|    fps                | 348       |\n",
      "|    iterations         | 1100      |\n",
      "|    time_elapsed       | 31        |\n",
      "|    total_timesteps    | 11000     |\n",
      "| train/                |           |\n",
      "|    entropy_loss       | -40.9     |\n",
      "|    explained_variance | -2.38e-07 |\n",
      "|    learning_rate      | 0.0004    |\n",
      "|    n_updates          | 1099      |\n",
      "|    policy_loss        | 9.85e+08  |\n",
      "|    std                | 0.993     |\n",
      "|    value_loss         | 7.54e+14  |\n",
      "-------------------------------------\n",
      "=================================\n",
      "begin_total_asset:1000000\n",
      "end_total_asset:5338172.805329656\n",
      "Sharpe:  0.8853102982208927\n",
      "=================================\n",
      "------------------------------------\n",
      "| time/                 |          |\n",
      "|    fps                | 348      |\n",
      "|    iterations         | 1200     |\n",
      "|    time_elapsed       | 34       |\n",
      "|    total_timesteps    | 12000    |\n",
      "| train/                |          |\n",
      "|    entropy_loss       | -40.9    |\n",
      "|    explained_variance | 0        |\n",
      "|    learning_rate      | 0.0004   |\n",
      "|    n_updates          | 1199     |\n",
      "|    policy_loss        | 3.02e+08 |\n",
      "|    std                | 0.993    |\n",
      "|    value_loss         | 6.67e+13 |\n",
      "------------------------------------\n",
      "------------------------------------\n",
      "| time/                 |          |\n",
      "|    fps                | 349      |\n",
      "|    iterations         | 1300     |\n",
      "|    time_elapsed       | 37       |\n",
      "|    total_timesteps    | 13000    |\n",
      "| train/                |          |\n",
      "|    entropy_loss       | -40.9    |\n",
      "|    explained_variance | 0        |\n",
      "|    learning_rate      | 0.0004   |\n",
      "|    n_updates          | 1299     |\n",
      "|    policy_loss        | 5.89e+08 |\n",
      "|    std                | 0.993    |\n",
      "|    value_loss         | 2.86e+14 |\n",
      "------------------------------------\n",
      "------------------------------------\n",
      "| time/                 |          |\n",
      "|    fps                | 350      |\n",
      "|    iterations         | 1400     |\n",
      "|    time_elapsed       | 39       |\n",
      "|    total_timesteps    | 14000    |\n",
      "| train/                |          |\n",
      "|    entropy_loss       | -40.9    |\n",
      "|    explained_variance | 0        |\n",
      "|    learning_rate      | 0.0004   |\n",
      "|    n_updates          | 1399     |\n",
      "|    policy_loss        | 1.04e+09 |\n",
      "|    std                | 0.993    |\n",
      "|    value_loss         | 8.18e+14 |\n",
      "------------------------------------\n",
      "=================================\n",
      "begin_total_asset:1000000\n",
      "end_total_asset:5206927.685194417\n",
      "Sharpe:  0.8724547806543539\n",
      "=================================\n",
      "------------------------------------\n",
      "| time/                 |          |\n",
      "|    fps                | 350      |\n",
      "|    iterations         | 1500     |\n",
      "|    time_elapsed       | 42       |\n",
      "|    total_timesteps    | 15000    |\n",
      "| train/                |          |\n",
      "|    entropy_loss       | -40.9    |\n",
      "|    explained_variance | 1.19e-07 |\n",
      "|    learning_rate      | 0.0004   |\n",
      "|    n_updates          | 1499     |\n",
      "|    policy_loss        | 3.76e+08 |\n",
      "|    std                | 0.992    |\n",
      "|    value_loss         | 1.09e+14 |\n",
      "------------------------------------\n",
      "------------------------------------\n",
      "| time/                 |          |\n",
      "|    fps                | 351      |\n",
      "|    iterations         | 1600     |\n",
      "|    time_elapsed       | 45       |\n",
      "|    total_timesteps    | 16000    |\n",
      "| train/                |          |\n",
      "|    entropy_loss       | -40.9    |\n",
      "|    explained_variance | 0        |\n",
      "|    learning_rate      | 0.0004   |\n",
      "|    n_updates          | 1599     |\n",
      "|    policy_loss        | 6.56e+08 |\n",
      "|    std                | 0.991    |\n",
      "|    value_loss         | 3.35e+14 |\n",
      "------------------------------------\n",
      "-------------------------------------\n",
      "| time/                 |           |\n",
      "|    fps                | 352       |\n",
      "|    iterations         | 1700      |\n",
      "|    time_elapsed       | 48        |\n",
      "|    total_timesteps    | 17000     |\n",
      "| train/                |           |\n",
      "|    entropy_loss       | -40.8     |\n",
      "|    explained_variance | -1.19e-07 |\n",
      "|    learning_rate      | 0.0004    |\n",
      "|    n_updates          | 1699      |\n",
      "|    policy_loss        | 9.62e+08  |\n",
      "|    std                | 0.989     |\n",
      "|    value_loss         | 7.85e+14  |\n",
      "-------------------------------------\n",
      "=================================\n",
      "begin_total_asset:1000000\n",
      "end_total_asset:5052128.201694914\n",
      "Sharpe:  0.8612234672677203\n",
      "=================================\n",
      "-------------------------------------\n",
      "| time/                 |           |\n",
      "|    fps                | 352       |\n",
      "|    iterations         | 1800      |\n",
      "|    time_elapsed       | 51        |\n",
      "|    total_timesteps    | 18000     |\n",
      "| train/                |           |\n",
      "|    entropy_loss       | -40.8     |\n",
      "|    explained_variance | -1.19e-07 |\n",
      "|    learning_rate      | 0.0004    |\n",
      "|    n_updates          | 1799      |\n",
      "|    policy_loss        | 3.9e+08   |\n",
      "|    std                | 0.989     |\n",
      "|    value_loss         | 1.09e+14  |\n",
      "-------------------------------------\n",
      "------------------------------------\n",
      "| time/                 |          |\n",
      "|    fps                | 352      |\n",
      "|    iterations         | 1900     |\n",
      "|    time_elapsed       | 53       |\n",
      "|    total_timesteps    | 19000    |\n",
      "| train/                |          |\n",
      "|    entropy_loss       | -40.8    |\n",
      "|    explained_variance | 0        |\n",
      "|    learning_rate      | 0.0004   |\n",
      "|    n_updates          | 1899     |\n",
      "|    policy_loss        | 6.79e+08 |\n",
      "|    std                | 0.988    |\n",
      "|    value_loss         | 3.49e+14 |\n",
      "------------------------------------\n",
      "------------------------------------\n",
      "| time/                 |          |\n",
      "|    fps                | 353      |\n",
      "|    iterations         | 2000     |\n",
      "|    time_elapsed       | 56       |\n",
      "|    total_timesteps    | 20000    |\n",
      "| train/                |          |\n",
      "|    entropy_loss       | -40.8    |\n",
      "|    explained_variance | 0        |\n",
      "|    learning_rate      | 0.0004   |\n",
      "|    n_updates          | 1999     |\n",
      "|    policy_loss        | 1.16e+09 |\n",
      "|    std                | 0.988    |\n",
      "|    value_loss         | 9.95e+14 |\n",
      "------------------------------------\n",
      "=================================\n",
      "begin_total_asset:1000000\n",
      "end_total_asset:5203470.705668018\n",
      "Sharpe:  0.8748931629590059\n",
      "=================================\n",
      "------------------------------------\n",
      "| time/                 |          |\n",
      "|    fps                | 353      |\n",
      "|    iterations         | 2100     |\n",
      "|    time_elapsed       | 59       |\n",
      "|    total_timesteps    | 21000    |\n",
      "| train/                |          |\n",
      "|    entropy_loss       | -40.8    |\n",
      "|    explained_variance | 0        |\n",
      "|    learning_rate      | 0.0004   |\n",
      "|    n_updates          | 2099     |\n",
      "|    policy_loss        | 3.7e+08  |\n",
      "|    std                | 0.987    |\n",
      "|    value_loss         | 9.82e+13 |\n",
      "------------------------------------\n",
      "------------------------------------\n",
      "| time/                 |          |\n",
      "|    fps                | 354      |\n",
      "|    iterations         | 2200     |\n",
      "|    time_elapsed       | 62       |\n",
      "|    total_timesteps    | 22000    |\n",
      "| train/                |          |\n",
      "|    entropy_loss       | -40.7    |\n",
      "|    explained_variance | 0        |\n",
      "|    learning_rate      | 0.0004   |\n",
      "|    n_updates          | 2199     |\n",
      "|    policy_loss        | 6.63e+08 |\n",
      "|    std                | 0.986    |\n",
      "|    value_loss         | 3.55e+14 |\n",
      "------------------------------------\n",
      "------------------------------------\n",
      "| time/                 |          |\n",
      "|    fps                | 354      |\n",
      "|    iterations         | 2300     |\n",
      "|    time_elapsed       | 64       |\n",
      "|    total_timesteps    | 23000    |\n",
      "| train/                |          |\n",
      "|    entropy_loss       | -40.7    |\n",
      "|    explained_variance | 0        |\n",
      "|    learning_rate      | 0.0004   |\n",
      "|    n_updates          | 2299     |\n",
      "|    policy_loss        | 1.19e+09 |\n",
      "|    std                | 0.986    |\n",
      "|    value_loss         | 1.08e+15 |\n",
      "------------------------------------\n",
      "=================================\n",
      "begin_total_asset:1000000\n",
      "end_total_asset:5040281.920294946\n",
      "Sharpe:  0.8585574447954305\n",
      "=================================\n",
      "-------------------------------------\n",
      "| time/                 |           |\n",
      "|    fps                | 354       |\n",
      "|    iterations         | 2400      |\n",
      "|    time_elapsed       | 67        |\n",
      "|    total_timesteps    | 24000     |\n",
      "| train/                |           |\n",
      "|    entropy_loss       | -40.7     |\n",
      "|    explained_variance | -1.19e-07 |\n",
      "|    learning_rate      | 0.0004    |\n",
      "|    n_updates          | 2399      |\n",
      "|    policy_loss        | 4.09e+08  |\n",
      "|    std                | 0.986     |\n",
      "|    value_loss         | 1.32e+14  |\n",
      "-------------------------------------\n",
      "------------------------------------\n",
      "| time/                 |          |\n",
      "|    fps                | 355      |\n",
      "|    iterations         | 2500     |\n",
      "|    time_elapsed       | 70       |\n",
      "|    total_timesteps    | 25000    |\n",
      "| train/                |          |\n",
      "|    entropy_loss       | -40.7    |\n",
      "|    explained_variance | 0        |\n",
      "|    learning_rate      | 0.0004   |\n",
      "|    n_updates          | 2499     |\n",
      "|    policy_loss        | 7.46e+08 |\n",
      "|    std                | 0.986    |\n",
      "|    value_loss         | 3.87e+14 |\n",
      "------------------------------------\n",
      "------------------------------------\n",
      "| time/                 |          |\n",
      "|    fps                | 356      |\n",
      "|    iterations         | 2600     |\n",
      "|    time_elapsed       | 73       |\n",
      "|    total_timesteps    | 26000    |\n",
      "| train/                |          |\n",
      "|    entropy_loss       | -40.7    |\n",
      "|    explained_variance | 0        |\n",
      "|    learning_rate      | 0.0004   |\n",
      "|    n_updates          | 2599     |\n",
      "|    policy_loss        | 1.13e+09 |\n",
      "|    std                | 0.985    |\n",
      "|    value_loss         | 8.94e+14 |\n",
      "------------------------------------\n",
      "=================================\n",
      "begin_total_asset:1000000\n",
      "end_total_asset:5234778.216526335\n",
      "Sharpe:  0.8749455008560126\n",
      "=================================\n",
      "------------------------------------\n",
      "| time/                 |          |\n",
      "|    fps                | 355      |\n",
      "|    iterations         | 2700     |\n",
      "|    time_elapsed       | 76       |\n",
      "|    total_timesteps    | 27000    |\n",
      "| train/                |          |\n",
      "|    entropy_loss       | -40.7    |\n",
      "|    explained_variance | 5.96e-08 |\n",
      "|    learning_rate      | 0.0004   |\n",
      "|    n_updates          | 2699     |\n",
      "|    policy_loss        | 4.38e+08 |\n",
      "|    std                | 0.983    |\n",
      "|    value_loss         | 1.49e+14 |\n",
      "------------------------------------\n",
      "-------------------------------------\n",
      "| time/                 |           |\n",
      "|    fps                | 355       |\n",
      "|    iterations         | 2800      |\n",
      "|    time_elapsed       | 78        |\n",
      "|    total_timesteps    | 28000     |\n",
      "| train/                |           |\n",
      "|    entropy_loss       | -40.7     |\n",
      "|    explained_variance | -1.19e-07 |\n",
      "|    learning_rate      | 0.0004    |\n",
      "|    n_updates          | 2799      |\n",
      "|    policy_loss        | 7.12e+08  |\n",
      "|    std                | 0.984     |\n",
      "|    value_loss         | 4.15e+14  |\n",
      "-------------------------------------\n",
      "=================================\n",
      "begin_total_asset:1000000\n",
      "end_total_asset:5050749.927450171\n",
      "Sharpe:  0.860116159518801\n",
      "=================================\n",
      "------------------------------------\n",
      "| time/                 |          |\n",
      "|    fps                | 355      |\n",
      "|    iterations         | 2900     |\n",
      "|    time_elapsed       | 81       |\n",
      "|    total_timesteps    | 29000    |\n",
      "| train/                |          |\n",
      "|    entropy_loss       | -40.7    |\n",
      "|    explained_variance | 5.96e-08 |\n",
      "|    learning_rate      | 0.0004   |\n",
      "|    n_updates          | 2899     |\n",
      "|    policy_loss        | 2.01e+08 |\n",
      "|    std                | 0.983    |\n",
      "|    value_loss         | 3.4e+13  |\n",
      "------------------------------------\n",
      "------------------------------------\n",
      "| time/                 |          |\n",
      "|    fps                | 356      |\n",
      "|    iterations         | 3000     |\n",
      "|    time_elapsed       | 84       |\n",
      "|    total_timesteps    | 30000    |\n",
      "| train/                |          |\n",
      "|    entropy_loss       | -40.6    |\n",
      "|    explained_variance | 5.96e-08 |\n",
      "|    learning_rate      | 0.0004   |\n",
      "|    n_updates          | 2999     |\n",
      "|    policy_loss        | 4.5e+08  |\n",
      "|    std                | 0.982    |\n",
      "|    value_loss         | 1.67e+14 |\n",
      "------------------------------------\n",
      "------------------------------------\n",
      "| time/                 |          |\n",
      "|    fps                | 356      |\n",
      "|    iterations         | 3100     |\n",
      "|    time_elapsed       | 86       |\n",
      "|    total_timesteps    | 31000    |\n",
      "| train/                |          |\n",
      "|    entropy_loss       | -40.6    |\n",
      "|    explained_variance | 0        |\n",
      "|    learning_rate      | 0.0004   |\n",
      "|    n_updates          | 3099     |\n",
      "|    policy_loss        | 7.73e+08 |\n",
      "|    std                | 0.981    |\n",
      "|    value_loss         | 4.62e+14 |\n",
      "------------------------------------\n",
      "=================================\n",
      "begin_total_asset:1000000\n",
      "end_total_asset:5150526.060248406\n",
      "Sharpe:  0.8692209709132137\n",
      "=================================\n",
      "------------------------------------\n",
      "| time/                 |          |\n",
      "|    fps                | 356      |\n",
      "|    iterations         | 3200     |\n",
      "|    time_elapsed       | 89       |\n",
      "|    total_timesteps    | 32000    |\n",
      "| train/                |          |\n",
      "|    entropy_loss       | -40.6    |\n",
      "|    explained_variance | 0        |\n",
      "|    learning_rate      | 0.0004   |\n",
      "|    n_updates          | 3199     |\n",
      "|    policy_loss        | 2.77e+08 |\n",
      "|    std                | 0.98     |\n",
      "|    value_loss         | 5.78e+13 |\n",
      "------------------------------------\n",
      "-------------------------------------\n",
      "| time/                 |           |\n",
      "|    fps                | 356       |\n",
      "|    iterations         | 3300      |\n",
      "|    time_elapsed       | 92        |\n",
      "|    total_timesteps    | 33000     |\n",
      "| train/                |           |\n",
      "|    entropy_loss       | -40.6     |\n",
      "|    explained_variance | -1.19e-07 |\n",
      "|    learning_rate      | 0.0004    |\n",
      "|    n_updates          | 3299      |\n",
      "|    policy_loss        | 5.05e+08  |\n",
      "|    std                | 0.98      |\n",
      "|    value_loss         | 1.95e+14  |\n",
      "-------------------------------------\n",
      "------------------------------------\n",
      "| time/                 |          |\n",
      "|    fps                | 357      |\n",
      "|    iterations         | 3400     |\n",
      "|    time_elapsed       | 95       |\n",
      "|    total_timesteps    | 34000    |\n",
      "| train/                |          |\n",
      "|    entropy_loss       | -40.5    |\n",
      "|    explained_variance | 0        |\n",
      "|    learning_rate      | 0.0004   |\n",
      "|    n_updates          | 3399     |\n",
      "|    policy_loss        | 8.28e+08 |\n",
      "|    std                | 0.979    |\n",
      "|    value_loss         | 5.09e+14 |\n",
      "------------------------------------\n",
      "=================================\n",
      "begin_total_asset:1000000\n",
      "end_total_asset:4870823.873813005\n",
      "Sharpe:  0.8474213661412938\n",
      "=================================\n",
      "------------------------------------\n",
      "| time/                 |          |\n",
      "|    fps                | 357      |\n",
      "|    iterations         | 3500     |\n",
      "|    time_elapsed       | 98       |\n",
      "|    total_timesteps    | 35000    |\n",
      "| train/                |          |\n",
      "|    entropy_loss       | -40.5    |\n",
      "|    explained_variance | 1.79e-07 |\n",
      "|    learning_rate      | 0.0004   |\n",
      "|    n_updates          | 3499     |\n",
      "|    policy_loss        | 3.13e+08 |\n",
      "|    std                | 0.979    |\n",
      "|    value_loss         | 6.75e+13 |\n",
      "------------------------------------\n",
      "------------------------------------\n",
      "| time/                 |          |\n",
      "|    fps                | 357      |\n",
      "|    iterations         | 3600     |\n",
      "|    time_elapsed       | 100      |\n",
      "|    total_timesteps    | 36000    |\n",
      "| train/                |          |\n",
      "|    entropy_loss       | -40.5    |\n",
      "|    explained_variance | 5.96e-08 |\n",
      "|    learning_rate      | 0.0004   |\n",
      "|    n_updates          | 3599     |\n",
      "|    policy_loss        | 5.52e+08 |\n",
      "|    std                | 0.979    |\n",
      "|    value_loss         | 2.32e+14 |\n",
      "------------------------------------\n",
      "------------------------------------\n",
      "| time/                 |          |\n",
      "|    fps                | 357      |\n",
      "|    iterations         | 3700     |\n",
      "|    time_elapsed       | 103      |\n",
      "|    total_timesteps    | 37000    |\n",
      "| train/                |          |\n",
      "|    entropy_loss       | -40.5    |\n",
      "|    explained_variance | 1.19e-07 |\n",
      "|    learning_rate      | 0.0004   |\n",
      "|    n_updates          | 3699     |\n",
      "|    policy_loss        | 1.03e+09 |\n",
      "|    std                | 0.979    |\n",
      "|    value_loss         | 8.14e+14 |\n",
      "------------------------------------\n",
      "=================================\n",
      "begin_total_asset:1000000\n",
      "end_total_asset:4871760.413614304\n",
      "Sharpe:  0.8458943132342717\n",
      "=================================\n",
      "-------------------------------------\n",
      "| time/                 |           |\n",
      "|    fps                | 357       |\n",
      "|    iterations         | 3800      |\n",
      "|    time_elapsed       | 106       |\n",
      "|    total_timesteps    | 38000     |\n",
      "| train/                |           |\n",
      "|    entropy_loss       | -40.5     |\n",
      "|    explained_variance | -1.19e-07 |\n",
      "|    learning_rate      | 0.0004    |\n",
      "|    n_updates          | 3799      |\n",
      "|    policy_loss        | 3.07e+08  |\n",
      "|    std                | 0.979     |\n",
      "|    value_loss         | 7.1e+13   |\n",
      "-------------------------------------\n",
      "------------------------------------\n",
      "| time/                 |          |\n",
      "|    fps                | 357      |\n",
      "|    iterations         | 3900     |\n",
      "|    time_elapsed       | 109      |\n",
      "|    total_timesteps    | 39000    |\n",
      "| train/                |          |\n",
      "|    entropy_loss       | -40.5    |\n",
      "|    explained_variance | 0        |\n",
      "|    learning_rate      | 0.0004   |\n",
      "|    n_updates          | 3899     |\n",
      "|    policy_loss        | 5.82e+08 |\n",
      "|    std                | 0.978    |\n",
      "|    value_loss         | 2.99e+14 |\n",
      "------------------------------------\n",
      "------------------------------------\n",
      "| time/                 |          |\n",
      "|    fps                | 357      |\n",
      "|    iterations         | 4000     |\n",
      "|    time_elapsed       | 111      |\n",
      "|    total_timesteps    | 40000    |\n",
      "| train/                |          |\n",
      "|    entropy_loss       | -40.5    |\n",
      "|    explained_variance | 0        |\n",
      "|    learning_rate      | 0.0004   |\n",
      "|    n_updates          | 3999     |\n",
      "|    policy_loss        | 1.09e+09 |\n",
      "|    std                | 0.978    |\n",
      "|    value_loss         | 8.28e+14 |\n",
      "------------------------------------\n"
     ]
    }
   ],
   "source": [
    "trained_a2c = agent.train_model(model=model_a2c, tb_log_name='a2c',\n",
    "                                total_timesteps=40000)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "lvrqTro3lhAh"
   },
   "source": [
    "### Model 2: **PPO**\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "kVXta7jVKMhV",
    "outputId": "8a37139a-1d55-425c-881e-c5a6c2377d4c"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'n_steps': 2048, 'ent_coef': 0.005, 'learning_rate': 0.001, 'batch_size': 128}\n",
      "Using cuda device\n"
     ]
    }
   ],
   "source": [
    "agent = DRLAgent(env = env_train)\n",
    "PPO_PARAMS = {\n",
    "    \"n_steps\": 2048,\n",
    "    \"ent_coef\": 0.005,\n",
    "    \"learning_rate\": 0.001,\n",
    "    \"batch_size\": 128,\n",
    "}\n",
    "model_ppo = agent.get_model(\"ppo\",model_kwargs = PPO_PARAMS)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "z5XlUIszKUGx",
    "outputId": "e30e5260-b9c5-462a-efa7-f6d2ec54bef1"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Logging to tensorboard_log/ppo/ppo_1\n",
      "-----------------------------\n",
      "| time/              |      |\n",
      "|    fps             | 443  |\n",
      "|    iterations      | 1    |\n",
      "|    time_elapsed    | 4    |\n",
      "|    total_timesteps | 2048 |\n",
      "-----------------------------\n",
      "=================================\n",
      "begin_total_asset:1000000\n",
      "end_total_asset:4970435.370711435\n",
      "Sharpe:  0.8541614401686896\n",
      "=================================\n",
      "--------------------------------------------\n",
      "| time/                   |                |\n",
      "|    fps                  | 402            |\n",
      "|    iterations           | 2              |\n",
      "|    time_elapsed         | 10             |\n",
      "|    total_timesteps      | 4096           |\n",
      "| train/                  |                |\n",
      "|    approx_kl            | -1.4551915e-09 |\n",
      "|    clip_fraction        | 0              |\n",
      "|    clip_range           | 0.2            |\n",
      "|    entropy_loss         | -41.1          |\n",
      "|    explained_variance   | 0              |\n",
      "|    learning_rate        | 0.001          |\n",
      "|    loss                 | 8.46e+14       |\n",
      "|    n_updates            | 10             |\n",
      "|    policy_gradient_loss | -6.26e-06      |\n",
      "|    std                  | 1              |\n",
      "|    value_loss           | 1.64e+15       |\n",
      "--------------------------------------------\n",
      "=================================\n",
      "begin_total_asset:1000000\n",
      "end_total_asset:5704501.725828795\n",
      "Sharpe:  0.9210558832270259\n",
      "=================================\n",
      "--------------------------------------------\n",
      "| time/                   |                |\n",
      "|    fps                  | 391            |\n",
      "|    iterations           | 3              |\n",
      "|    time_elapsed         | 15             |\n",
      "|    total_timesteps      | 6144           |\n",
      "| train/                  |                |\n",
      "|    approx_kl            | -2.6484486e-09 |\n",
      "|    clip_fraction        | 0              |\n",
      "|    clip_range           | 0.2            |\n",
      "|    entropy_loss         | -41.1          |\n",
      "|    explained_variance   | 0              |\n",
      "|    learning_rate        | 0.001          |\n",
      "|    loss                 | 1.45e+15       |\n",
      "|    n_updates            | 20             |\n",
      "|    policy_gradient_loss | -4.71e-06      |\n",
      "|    std                  | 1              |\n",
      "|    value_loss           | 3.02e+15       |\n",
      "--------------------------------------------\n",
      "--------------------------------------------\n",
      "| time/                   |                |\n",
      "|    fps                  | 389            |\n",
      "|    iterations           | 4              |\n",
      "|    time_elapsed         | 21             |\n",
      "|    total_timesteps      | 8192           |\n",
      "| train/                  |                |\n",
      "|    approx_kl            | -2.5320332e-09 |\n",
      "|    clip_fraction        | 0              |\n",
      "|    clip_range           | 0.2            |\n",
      "|    entropy_loss         | -41.1          |\n",
      "|    explained_variance   | 0              |\n",
      "|    learning_rate        | 0.001          |\n",
      "|    loss                 | 2.21e+15       |\n",
      "|    n_updates            | 30             |\n",
      "|    policy_gradient_loss | -3.31e-06      |\n",
      "|    std                  | 1              |\n",
      "|    value_loss           | 4.38e+15       |\n",
      "--------------------------------------------\n",
      "=================================\n",
      "begin_total_asset:1000000\n",
      "end_total_asset:4858199.556641807\n",
      "Sharpe:  0.8470690829294831\n",
      "=================================\n",
      "--------------------------------------------\n",
      "| time/                   |                |\n",
      "|    fps                  | 385            |\n",
      "|    iterations           | 5              |\n",
      "|    time_elapsed         | 26             |\n",
      "|    total_timesteps      | 10240          |\n",
      "| train/                  |                |\n",
      "|    approx_kl            | -2.0081643e-09 |\n",
      "|    clip_fraction        | 0              |\n",
      "|    clip_range           | 0.2            |\n",
      "|    entropy_loss         | -41.1          |\n",
      "|    explained_variance   | 1.79e-07       |\n",
      "|    learning_rate        | 0.001          |\n",
      "|    loss                 | 1.1e+15        |\n",
      "|    n_updates            | 40             |\n",
      "|    policy_gradient_loss | -5.17e-06      |\n",
      "|    std                  | 1              |\n",
      "|    value_loss           | 2.11e+15       |\n",
      "--------------------------------------------\n",
      "=================================\n",
      "begin_total_asset:1000000\n",
      "end_total_asset:4763591.805475093\n",
      "Sharpe:  0.8353098439478136\n",
      "=================================\n",
      "-------------------------------------------\n",
      "| time/                   |               |\n",
      "|    fps                  | 382           |\n",
      "|    iterations           | 6             |\n",
      "|    time_elapsed         | 32            |\n",
      "|    total_timesteps      | 12288         |\n",
      "| train/                  |               |\n",
      "|    approx_kl            | -1.891749e-09 |\n",
      "|    clip_fraction        | 0             |\n",
      "|    clip_range           | 0.2           |\n",
      "|    entropy_loss         | -41.1         |\n",
      "|    explained_variance   | 0             |\n",
      "|    learning_rate        | 0.001         |\n",
      "|    loss                 | 1.1e+15       |\n",
      "|    n_updates            | 50            |\n",
      "|    policy_gradient_loss | -4.88e-06     |\n",
      "|    std                  | 1             |\n",
      "|    value_loss           | 2.29e+15      |\n",
      "-------------------------------------------\n",
      "--------------------------------------------\n",
      "| time/                   |                |\n",
      "|    fps                  | 381            |\n",
      "|    iterations           | 7              |\n",
      "|    time_elapsed         | 37             |\n",
      "|    total_timesteps      | 14336          |\n",
      "| train/                  |                |\n",
      "|    approx_kl            | -2.0954758e-09 |\n",
      "|    clip_fraction        | 0              |\n",
      "|    clip_range           | 0.2            |\n",
      "|    entropy_loss         | -41.1          |\n",
      "|    explained_variance   | -2.38e-07      |\n",
      "|    learning_rate        | 0.001          |\n",
      "|    loss                 | 1.67e+15       |\n",
      "|    n_updates            | 60             |\n",
      "|    policy_gradient_loss | -4.53e-06      |\n",
      "|    std                  | 1              |\n",
      "|    value_loss           | 3.22e+15       |\n",
      "--------------------------------------------\n",
      "=================================\n",
      "begin_total_asset:1000000\n",
      "end_total_asset:4834402.646150933\n",
      "Sharpe:  0.8438522819387675\n",
      "=================================\n",
      "--------------------------------------------\n",
      "| time/                   |                |\n",
      "|    fps                  | 380            |\n",
      "|    iterations           | 8              |\n",
      "|    time_elapsed         | 43             |\n",
      "|    total_timesteps      | 16384          |\n",
      "| train/                  |                |\n",
      "|    approx_kl            | -3.3760443e-09 |\n",
      "|    clip_fraction        | 0              |\n",
      "|    clip_range           | 0.2            |\n",
      "|    entropy_loss         | -41.1          |\n",
      "|    explained_variance   | 1.19e-07       |\n",
      "|    learning_rate        | 0.001          |\n",
      "|    loss                 | 1.71e+15       |\n",
      "|    n_updates            | 70             |\n",
      "|    policy_gradient_loss | -3.54e-06      |\n",
      "|    std                  | 1              |\n",
      "|    value_loss           | 3.35e+15       |\n",
      "--------------------------------------------\n",
      "=================================\n",
      "begin_total_asset:1000000\n",
      "end_total_asset:4895926.850275784\n",
      "Sharpe:  0.8469111050614935\n",
      "=================================\n",
      "--------------------------------------------\n",
      "| time/                   |                |\n",
      "|    fps                  | 379            |\n",
      "|    iterations           | 9              |\n",
      "|    time_elapsed         | 48             |\n",
      "|    total_timesteps      | 18432          |\n",
      "| train/                  |                |\n",
      "|    approx_kl            | -1.6298145e-09 |\n",
      "|    clip_fraction        | 0              |\n",
      "|    clip_range           | 0.2            |\n",
      "|    entropy_loss         | -41.1          |\n",
      "|    explained_variance   | 0              |\n",
      "|    learning_rate        | 0.001          |\n",
      "|    loss                 | 8.14e+14       |\n",
      "|    n_updates            | 80             |\n",
      "|    policy_gradient_loss | -6.31e-06      |\n",
      "|    std                  | 1              |\n",
      "|    value_loss           | 1.59e+15       |\n",
      "--------------------------------------------\n",
      "=================================\n",
      "begin_total_asset:1000000\n",
      "end_total_asset:5013220.879681966\n",
      "Sharpe:  0.8594851763959435\n",
      "=================================\n",
      "-------------------------------------------\n",
      "| time/                   |               |\n",
      "|    fps                  | 378           |\n",
      "|    iterations           | 10            |\n",
      "|    time_elapsed         | 54            |\n",
      "|    total_timesteps      | 20480         |\n",
      "| train/                  |               |\n",
      "|    approx_kl            | -2.590241e-09 |\n",
      "|    clip_fraction        | 0             |\n",
      "|    clip_range           | 0.2           |\n",
      "|    entropy_loss         | -41.1         |\n",
      "|    explained_variance   | 0             |\n",
      "|    learning_rate        | 0.001         |\n",
      "|    loss                 | 1.47e+15      |\n",
      "|    n_updates            | 90            |\n",
      "|    policy_gradient_loss | -4.35e-06     |\n",
      "|    std                  | 1             |\n",
      "|    value_loss           | 2.94e+15      |\n",
      "-------------------------------------------\n",
      "-------------------------------------------\n",
      "| time/                   |               |\n",
      "|    fps                  | 378           |\n",
      "|    iterations           | 11            |\n",
      "|    time_elapsed         | 59            |\n",
      "|    total_timesteps      | 22528         |\n",
      "| train/                  |               |\n",
      "|    approx_kl            | -2.561137e-09 |\n",
      "|    clip_fraction        | 0             |\n",
      "|    clip_range           | 0.2           |\n",
      "|    entropy_loss         | -41.1         |\n",
      "|    explained_variance   | 5.96e-08      |\n",
      "|    learning_rate        | 0.001         |\n",
      "|    loss                 | 1.87e+15      |\n",
      "|    n_updates            | 100           |\n",
      "|    policy_gradient_loss | -4e-06        |\n",
      "|    std                  | 1             |\n",
      "|    value_loss           | 3.61e+15      |\n",
      "-------------------------------------------\n",
      "=================================\n",
      "begin_total_asset:1000000\n",
      "end_total_asset:5042602.137200567\n",
      "Sharpe:  0.8645479817917526\n",
      "=================================\n",
      "-------------------------------------------\n",
      "| time/                   |               |\n",
      "|    fps                  | 378           |\n",
      "|    iterations           | 12            |\n",
      "|    time_elapsed         | 64            |\n",
      "|    total_timesteps      | 24576         |\n",
      "| train/                  |               |\n",
      "|    approx_kl            | -9.313226e-10 |\n",
      "|    clip_fraction        | 0             |\n",
      "|    clip_range           | 0.2           |\n",
      "|    entropy_loss         | -41.1         |\n",
      "|    explained_variance   | 0             |\n",
      "|    learning_rate        | 0.001         |\n",
      "|    loss                 | 1.15e+15      |\n",
      "|    n_updates            | 110           |\n",
      "|    policy_gradient_loss | -5.18e-06     |\n",
      "|    std                  | 1             |\n",
      "|    value_loss           | 2.06e+15      |\n",
      "-------------------------------------------\n",
      "=================================\n",
      "begin_total_asset:1000000\n",
      "end_total_asset:5014090.890257329\n",
      "Sharpe:  0.8595600921735316\n",
      "=================================\n",
      "--------------------------------------------\n",
      "| time/                   |                |\n",
      "|    fps                  | 377            |\n",
      "|    iterations           | 13             |\n",
      "|    time_elapsed         | 70             |\n",
      "|    total_timesteps      | 26624          |\n",
      "| train/                  |                |\n",
      "|    approx_kl            | -1.8335413e-09 |\n",
      "|    clip_fraction        | 0              |\n",
      "|    clip_range           | 0.2            |\n",
      "|    entropy_loss         | -41.1          |\n",
      "|    explained_variance   | -1.19e-07      |\n",
      "|    learning_rate        | 0.001          |\n",
      "|    loss                 | 1.43e+15       |\n",
      "|    n_updates            | 120            |\n",
      "|    policy_gradient_loss | -4.9e-06       |\n",
      "|    std                  | 1              |\n",
      "|    value_loss           | 2.74e+15       |\n",
      "--------------------------------------------\n",
      "--------------------------------------------\n",
      "| time/                   |                |\n",
      "|    fps                  | 377            |\n",
      "|    iterations           | 14             |\n",
      "|    time_elapsed         | 76             |\n",
      "|    total_timesteps      | 28672          |\n",
      "| train/                  |                |\n",
      "|    approx_kl            | -2.1827873e-09 |\n",
      "|    clip_fraction        | 0              |\n",
      "|    clip_range           | 0.2            |\n",
      "|    entropy_loss         | -41.1          |\n",
      "|    explained_variance   | 1.19e-07       |\n",
      "|    learning_rate        | 0.001          |\n",
      "|    loss                 | 1.8e+15        |\n",
      "|    n_updates            | 130            |\n",
      "|    policy_gradient_loss | -3.65e-06      |\n",
      "|    std                  | 1              |\n",
      "|    value_loss           | 3.57e+15       |\n",
      "--------------------------------------------\n",
      "=================================\n",
      "begin_total_asset:1000000\n",
      "end_total_asset:4969237.8001872\n",
      "Sharpe:  0.8558232145676209\n",
      "=================================\n",
      "-------------------------------------------\n",
      "| time/                   |               |\n",
      "|    fps                  | 376           |\n",
      "|    iterations           | 15            |\n",
      "|    time_elapsed         | 81            |\n",
      "|    total_timesteps      | 30720         |\n",
      "| train/                  |               |\n",
      "|    approx_kl            | -2.590241e-09 |\n",
      "|    clip_fraction        | 0             |\n",
      "|    clip_range           | 0.2           |\n",
      "|    entropy_loss         | -41.1         |\n",
      "|    explained_variance   | 5.96e-08      |\n",
      "|    learning_rate        | 0.001         |\n",
      "|    loss                 | 1.53e+15      |\n",
      "|    n_updates            | 140           |\n",
      "|    policy_gradient_loss | -4.11e-06     |\n",
      "|    std                  | 1             |\n",
      "|    value_loss           | 2.9e+15       |\n",
      "-------------------------------------------\n",
      "=================================\n",
      "begin_total_asset:1000000\n",
      "end_total_asset:5011411.743064645\n",
      "Sharpe:  0.8532527437009845\n",
      "=================================\n",
      "--------------------------------------------\n",
      "| time/                   |                |\n",
      "|    fps                  | 376            |\n",
      "|    iterations           | 16             |\n",
      "|    time_elapsed         | 87             |\n",
      "|    total_timesteps      | 32768          |\n",
      "| train/                  |                |\n",
      "|    approx_kl            | -1.4551915e-09 |\n",
      "|    clip_fraction        | 0              |\n",
      "|    clip_range           | 0.2            |\n",
      "|    entropy_loss         | -41.1          |\n",
      "|    explained_variance   | -1.19e-07      |\n",
      "|    learning_rate        | 0.001          |\n",
      "|    loss                 | 9.42e+14       |\n",
      "|    n_updates            | 150            |\n",
      "|    policy_gradient_loss | -5.18e-06      |\n",
      "|    std                  | 1              |\n",
      "|    value_loss           | 1.91e+15       |\n",
      "--------------------------------------------\n",
      "=================================\n",
      "begin_total_asset:1000000\n",
      "end_total_asset:4510420.585454914\n",
      "Sharpe:  0.8102303647302481\n",
      "=================================\n",
      "--------------------------------------------\n",
      "| time/                   |                |\n",
      "|    fps                  | 375            |\n",
      "|    iterations           | 17             |\n",
      "|    time_elapsed         | 92             |\n",
      "|    total_timesteps      | 34816          |\n",
      "| train/                  |                |\n",
      "|    approx_kl            | -2.1827873e-09 |\n",
      "|    clip_fraction        | 0              |\n",
      "|    clip_range           | 0.2            |\n",
      "|    entropy_loss         | -41.1          |\n",
      "|    explained_variance   | -1.19e-07      |\n",
      "|    learning_rate        | 0.001          |\n",
      "|    loss                 | 1.6e+15        |\n",
      "|    n_updates            | 160            |\n",
      "|    policy_gradient_loss | -3.84e-06      |\n",
      "|    std                  | 1              |\n",
      "|    value_loss           | 3.07e+15       |\n",
      "--------------------------------------------\n",
      "-------------------------------------------\n",
      "| time/                   |               |\n",
      "|    fps                  | 376           |\n",
      "|    iterations           | 18            |\n",
      "|    time_elapsed         | 98            |\n",
      "|    total_timesteps      | 36864         |\n",
      "| train/                  |               |\n",
      "|    approx_kl            | -2.590241e-09 |\n",
      "|    clip_fraction        | 0             |\n",
      "|    clip_range           | 0.2           |\n",
      "|    entropy_loss         | -41.1         |\n",
      "|    explained_variance   | 1.19e-07      |\n",
      "|    learning_rate        | 0.001         |\n",
      "|    loss                 | 1.71e+15      |\n",
      "|    n_updates            | 170           |\n",
      "|    policy_gradient_loss | -3.86e-06     |\n",
      "|    std                  | 1             |\n",
      "|    value_loss           | 3.36e+15      |\n",
      "-------------------------------------------\n",
      "=================================\n",
      "begin_total_asset:1000000\n",
      "end_total_asset:5065690.541894943\n",
      "Sharpe:  0.8643035828660754\n",
      "=================================\n",
      "-------------------------------------------\n",
      "| time/                   |               |\n",
      "|    fps                  | 375           |\n",
      "|    iterations           | 19            |\n",
      "|    time_elapsed         | 103           |\n",
      "|    total_timesteps      | 38912         |\n",
      "| train/                  |               |\n",
      "|    approx_kl            | -2.066372e-09 |\n",
      "|    clip_fraction        | 0             |\n",
      "|    clip_range           | 0.2           |\n",
      "|    entropy_loss         | -41.1         |\n",
      "|    explained_variance   | 0             |\n",
      "|    learning_rate        | 0.001         |\n",
      "|    loss                 | 8.38e+14      |\n",
      "|    n_updates            | 180           |\n",
      "|    policy_gradient_loss | -5.05e-06     |\n",
      "|    std                  | 1             |\n",
      "|    value_loss           | 1.67e+15      |\n",
      "-------------------------------------------\n",
      "=================================\n",
      "begin_total_asset:1000000\n",
      "end_total_asset:5018597.9434082545\n",
      "Sharpe:  0.8611011103283143\n",
      "=================================\n",
      "--------------------------------------------\n",
      "| time/                   |                |\n",
      "|    fps                  | 375            |\n",
      "|    iterations           | 20             |\n",
      "|    time_elapsed         | 109            |\n",
      "|    total_timesteps      | 40960          |\n",
      "| train/                  |                |\n",
      "|    approx_kl            | -2.0954758e-09 |\n",
      "|    clip_fraction        | 0              |\n",
      "|    clip_range           | 0.2            |\n",
      "|    entropy_loss         | -41.1          |\n",
      "|    explained_variance   | -1.19e-07      |\n",
      "|    learning_rate        | 0.001          |\n",
      "|    loss                 | 1.54e+15       |\n",
      "|    n_updates            | 190            |\n",
      "|    policy_gradient_loss | -4.44e-06      |\n",
      "|    std                  | 1              |\n",
      "|    value_loss           | 2.79e+15       |\n",
      "--------------------------------------------\n"
     ]
    }
   ],
   "source": [
    "trained_ppo = agent.train_model(model=model_ppo, \n",
    "                             tb_log_name='ppo',\n",
    "                             total_timesteps=40000)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "E2Ma6YpTlnuZ"
   },
   "source": [
    "## Back-Testing\n",
    "Assume that we have $1,000,000 initial capital at 2020-01-01. We use the PPO, A2C, SVM, Linear Regression, Decision Tree, Random Foreset models to trade Dow jones 30 constituent stocks.\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "id": "uas8U6k455sI"
   },
   "outputs": [],
   "source": [
    "trade = data_split(df,'2020-07-01', '2021-09-02')\n",
    "e_trade_gym = StockPortfolioEnv(df = trade, **env_kwargs)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "id": "IY9FV6IZlcFf"
   },
   "outputs": [],
   "source": [
    "import torch\n",
    "%matplotlib inline\n",
    "import plotly.express as px\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "id": "GjE0koq1SRW5"
   },
   "outputs": [],
   "source": [
    "from pypfopt.efficient_frontier import EfficientFrontier\n",
    "from pypfopt import risk_models\n",
    "import pandas as pd\n",
    "from pypfopt import EfficientFrontier\n",
    "from pypfopt import risk_models\n",
    "from pypfopt import expected_returns\n",
    "from pypfopt import objective_functions\n",
    "unique_tic = trade.tic.unique()\n",
    "unique_trade_date = trade.date.unique()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "_NMOUIHy3NHD",
    "outputId": "5f98ffee-4c13-41e8-b4e8-5ed3c2dd67d4"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\r[*********************100%***********************]  1 of 1 completed\n",
      "Shape of DataFrame:  (295, 8)\n",
      "Annual return          0.311845\n",
      "Cumulative returns     0.374034\n",
      "Annual volatility      0.140762\n",
      "Sharpe ratio           2.006165\n",
      "Calmar ratio           3.491806\n",
      "Stability              0.950106\n",
      "Max drawdown          -0.089308\n",
      "Omega ratio            1.397014\n",
      "Sortino ratio          2.988706\n",
      "Skew                        NaN\n",
      "Kurtosis                    NaN\n",
      "Tail ratio             1.094883\n",
      "Daily value at risk   -0.016614\n",
      "dtype: float64\n"
     ]
    }
   ],
   "source": [
    "import pyfolio\n",
    "%matplotlib inline\n",
    "from finrl.plot import backtest_stats, backtest_plot, get_daily_return, get_baseline,convert_daily_return_to_pyfolio_ts\n",
    "\n",
    "baseline_df = get_baseline(\n",
    "        ticker=\"^DJI\", \n",
    "        start = '2020-07-01',\n",
    "        end =  '2021-09-01')\n",
    "\n",
    "baseline_df_stats = backtest_stats(baseline_df, value_col_name = 'close')\n",
    "baseline_returns = get_daily_return(baseline_df, value_col_name=\"close\")\n",
    "\n",
    "dji_cumpod =(baseline_returns+1).cumprod()-1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "QUcP0AmbPaFg",
    "outputId": "939716ee-e8f0-4811-d27d-b1dcd2773745"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "=================================\n",
      "begin_total_asset:1000000\n",
      "end_total_asset:1448554.8470795488\n",
      "Sharpe:  2.1980756842314966\n",
      "=================================\n",
      "hit end!\n",
      "=================================\n",
      "begin_total_asset:1000000\n",
      "end_total_asset:1446480.2208764069\n",
      "Sharpe:  2.216552967439953\n",
      "=================================\n",
      "hit end!\n"
     ]
    }
   ],
   "source": [
    "from pyfolio import timeseries\n",
    "\n",
    "df_daily_return_a2c, df_actions_a2c = DRLAgent.DRL_prediction(model=trained_a2c,\n",
    "                        environment = e_trade_gym)\n",
    "df_daily_return_ppo, df_actions_ppo = DRLAgent.DRL_prediction(model=trained_ppo,\n",
    "                        environment = e_trade_gym)\n",
    "time_ind = pd.Series(df_daily_return_a2c.date)\n",
    "a2c_cumpod =(df_daily_return_a2c.daily_return+1).cumprod()-1\n",
    "ppo_cumpod =(df_daily_return_ppo.daily_return+1).cumprod()-1\n",
    "DRL_strat_a2c = convert_daily_return_to_pyfolio_ts(df_daily_return_a2c)\n",
    "DRL_strat_ppo = convert_daily_return_to_pyfolio_ts(df_daily_return_ppo)\n",
    "\n",
    "perf_func = timeseries.perf_stats \n",
    "perf_stats_all_a2c = perf_func( returns=DRL_strat_a2c, \n",
    "                              factor_returns=DRL_strat_a2c, \n",
    "                                positions=None, transactions=None, turnover_denom=\"AGB\")\n",
    "perf_stats_all_ppo = perf_func( returns=DRL_strat_ppo, \n",
    "                              factor_returns=DRL_strat_ppo, \n",
    "                                positions=None, transactions=None, turnover_denom=\"AGB\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "id": "JF5xR6e_cZyG"
   },
   "outputs": [],
   "source": [
    "def extract_weights(drl_actions_list):\n",
    "  a2c_weight_df = {'date':[], 'weights':[]}\n",
    "  for i in range(len(drl_actions_list)):\n",
    "    date = drl_actions_list.index[i]\n",
    "    tic_list = list(drl_actions_list.columns)\n",
    "    weights_list = drl_actions_list.reset_index()[list(drl_actions_list.columns)].iloc[i].values\n",
    "    weight_dict = {'tic':[], 'weight':[]}\n",
    "    for j in range(len(tic_list)):\n",
    "      weight_dict['tic'] += [tic_list[j]]\n",
    "      weight_dict['weight'] += [weights_list[j]]\n",
    "\n",
    "    a2c_weight_df['date'] += [date]\n",
    "    a2c_weight_df['weights'] += [pd.DataFrame(weight_dict)]\n",
    "\n",
    "  a2c_weights = pd.DataFrame(a2c_weight_df)\n",
    "  return a2c_weights\n",
    "\n",
    "a2c_weights = extract_weights(df_actions_a2c)\n",
    "ppo_weights = extract_weights(df_actions_ppo)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "ElfXZCQb1Thv"
   },
   "source": [
    "## Machine Learning Models\n",
    "\n",
    "We trained the machine learning models with technical indicators: MACD, RSI, CCI, DX"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "id": "56nqKfFAR6m_"
   },
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "from sklearn.model_selection import train_test_split\n",
    "from sklearn import datasets\n",
    "from sklearn import svm\n",
    "from sklearn import linear_model\n",
    "from sklearn.linear_model import LinearRegression\n",
    "from sklearn.metrics import mean_squared_error\n",
    "from math import sqrt\n",
    "from sklearn.ensemble import RandomForestRegressor\n",
    "from sklearn.svm import SVR\n",
    "from sklearn.model_selection import cross_val_score\n",
    "from sklearn.tree import DecisionTreeRegressor \n",
    "\n",
    "def prepare_data(trainData):\n",
    "  train_date = sorted(set(trainData.date.values))\n",
    "  X = []\n",
    "  for i in range(0, len(train_date) - 1):\n",
    "    d = train_date[i]\n",
    "    d_next = train_date[i+1]\n",
    "    y = train.loc[train['date'] == d_next].return_list.iloc[0].loc[d_next].reset_index()\n",
    "    y.columns = ['tic', 'return']\n",
    "    x = train.loc[train['date'] == d][['tic','macd','rsi_30','cci_30','dx_30']]\n",
    "    train_piece = pd.merge(x, y, on = 'tic')\n",
    "    train_piece['date'] = [d] * len(train_piece)\n",
    "    X += [train_piece]\n",
    "  trainDataML = pd.concat(X)\n",
    "  X = trainDataML[tech_indicator_list].values\n",
    "  Y = trainDataML[['return']].values\n",
    "\n",
    "  return X, Y\n",
    "\n",
    "train_X, train_Y = prepare_data(train)\n",
    "rf_model = RandomForestRegressor(max_depth = 35,  min_samples_split = 10, random_state = 0).fit(train_X, train_Y.reshape(-1))\n",
    "dt_model = DecisionTreeRegressor(random_state = 0, max_depth=35, min_samples_split = 10 ).fit(train_X, train_Y.reshape(-1))\n",
    "svm_model =  SVR(epsilon=0.14).fit(train_X, train_Y.reshape(-1))\n",
    "lr_model = LinearRegression().fit(train_X, train_Y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "SIu0h0v-274U",
    "outputId": "dc409d8f-d2d3-45be-dfc7-b851b3e86887"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Annual return          0.175887\n",
      "Cumulative returns     0.209627\n",
      "Annual volatility      0.423552\n",
      "Sharpe ratio           0.592017\n",
      "Calmar ratio           0.759039\n",
      "Stability              0.623836\n",
      "Max drawdown          -0.231723\n",
      "Omega ratio            1.104689\n",
      "Sortino ratio          0.967516\n",
      "Skew                        NaN\n",
      "Kurtosis                    NaN\n",
      "Tail ratio             1.352546\n",
      "Daily value at risk   -0.052368\n",
      "dtype: float64\n",
      "Annual return         -0.089735\n",
      "Cumulative returns    -0.104556\n",
      "Annual volatility      0.354916\n",
      "Sharpe ratio          -0.090182\n",
      "Calmar ratio          -0.371071\n",
      "Stability              0.014853\n",
      "Max drawdown          -0.241828\n",
      "Omega ratio            0.984614\n",
      "Sortino ratio         -0.136789\n",
      "Skew                        NaN\n",
      "Kurtosis                    NaN\n",
      "Tail ratio             1.118939\n",
      "Daily value at risk   -0.044842\n",
      "dtype: float64\n",
      "Annual return          0.263020\n",
      "Cumulative returns     0.315579\n",
      "Annual volatility      0.162380\n",
      "Sharpe ratio           1.524243\n",
      "Calmar ratio           2.312425\n",
      "Stability              0.833858\n",
      "Max drawdown          -0.113742\n",
      "Omega ratio            1.292170\n",
      "Sortino ratio          2.430635\n",
      "Skew                        NaN\n",
      "Kurtosis                    NaN\n",
      "Tail ratio             1.144275\n",
      "Daily value at risk   -0.019476\n",
      "dtype: float64\n",
      "Annual return          0.063459\n",
      "Cumulative returns     0.074945\n",
      "Annual volatility      0.401745\n",
      "Sharpe ratio           0.351194\n",
      "Calmar ratio           0.274040\n",
      "Stability              0.585454\n",
      "Max drawdown          -0.231567\n",
      "Omega ratio            1.061733\n",
      "Sortino ratio          0.561261\n",
      "Skew                        NaN\n",
      "Kurtosis                    NaN\n",
      "Tail ratio             1.228962\n",
      "Daily value at risk   -0.050055\n",
      "dtype: float64\n",
      "Annual return            2605.909332\n",
      "Cumulative returns      10293.194233\n",
      "Annual volatility           0.365709\n",
      "Sharpe ratio               22.093489\n",
      "Calmar ratio           169067.309701\n",
      "Stability                   0.989555\n",
      "Max drawdown               -0.015413\n",
      "Omega ratio               141.382549\n",
      "Sortino ratio             323.568377\n",
      "Skew                             NaN\n",
      "Kurtosis                         NaN\n",
      "Tail ratio                 12.679187\n",
      "Daily value at risk        -0.014012\n",
      "dtype: float64\n"
     ]
    }
   ],
   "source": [
    "def output_predict(model, reference_model = False):\n",
    "  meta_coefficient = {\"date\":[], \"weights\":[]}\n",
    "\n",
    "  portfolio = pd.DataFrame(index = range(1), columns = unique_trade_date)\n",
    "  initial_capital = 1000000\n",
    "  portfolio.loc[0,unique_trade_date[0]] = initial_capital\n",
    "\n",
    "  for i in range(len(unique_trade_date) - 1):\n",
    "      \n",
    "      current_date = unique_trade_date[i]\n",
    "      next_date = unique_trade_date[i+1]\n",
    "      df_current = df[df.date==current_date].reset_index(drop=True)\n",
    "      tics = df_current['tic'].values\n",
    "      features = df_current[tech_indicator_list].values\n",
    "      df_next = df[df.date==next_date].reset_index(drop=True)\n",
    "      if not reference_model:\n",
    "        predicted_y = model.predict(features)      \n",
    "        mu = predicted_y\n",
    "        Sigma = risk_models.sample_cov(df_current.return_list[0], returns_data=True)\n",
    "      else:\n",
    "        mu = df_next.return_list[0].loc[next_date].values\n",
    "        Sigma = risk_models.sample_cov(df_next.return_list[0], returns_data=True)\n",
    "      predicted_y_df = pd.DataFrame({\"tic\":tics.reshape(-1,), \"predicted_y\":mu.reshape(-1,)})\n",
    "      min_weight, max_weight = 0, 1\n",
    "      ef = EfficientFrontier(mu, Sigma)\n",
    "      weights = ef.nonconvex_objective(\n",
    "          objective_functions.sharpe_ratio,\n",
    "          objective_args=(ef.expected_returns, ef.cov_matrix),\n",
    "          weights_sum_to_one=True,\n",
    "          constraints=[\n",
    "              {\"type\": \"ineq\", \"fun\": lambda w: w - min_weight},  # greater than min_weight\n",
    "              {\"type\": \"ineq\", \"fun\": lambda w: max_weight - w},  # less than max_weight\n",
    "          ],\n",
    "      )\n",
    "      \n",
    "      weight_df = {\"tic\":[], \"weight\":[]}\n",
    "      meta_coefficient[\"date\"] += [current_date]\n",
    "      # it = 0\n",
    "      for item in weights:\n",
    "        weight_df['tic'] += [item]\n",
    "        weight_df['weight'] += [weights[item]]\n",
    "      \n",
    "      weight_df = pd.DataFrame(weight_df).merge(predicted_y_df, on = ['tic'])\n",
    "      meta_coefficient[\"weights\"] += [weight_df]\n",
    "      cap = portfolio.iloc[0, i]\n",
    "      #current cash invested for each stock\n",
    "      current_cash = [element * cap for element in list(weights.values())]\n",
    "      # current held shares\n",
    "      current_shares = list(np.array(current_cash) / np.array(df_current.close))\n",
    "      # next time period price\n",
    "      next_price = np.array(df_next.close)\n",
    "      portfolio.iloc[0, i+1] = np.dot(current_shares, next_price)\n",
    "      \n",
    "  portfolio=portfolio.T\n",
    "  portfolio.columns = ['account_value']\n",
    "  portfolio = portfolio.reset_index()\n",
    "  portfolio.columns = ['date', 'account_value']\n",
    "  stats = backtest_stats(portfolio, value_col_name = 'account_value')\n",
    "  portfolio_cumprod =(portfolio.account_value.pct_change()+1).cumprod()-1\n",
    "\n",
    "  return portfolio, stats, portfolio_cumprod, pd.DataFrame(meta_coefficient)\n",
    "\n",
    "lr_portfolio, lr_stats, lr_cumprod, lr_weights = output_predict(lr_model)\n",
    "dt_portfolio, dt_stats, dt_cumprod, dt_weights = output_predict(dt_model)\n",
    "svm_portfolio, svm_stats, svm_cumprod, svm_weights = output_predict(svm_model)\n",
    "rf_portfolio, rf_stats, rf_cumprod, rf_weights = output_predict(rf_model)\n",
    "reference_portfolio, reference_stats, reference_cumprod, reference_weights = output_predict(None, True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "I_pDu_152D2e"
   },
   "source": [
    "# Part 7: Explanation Method Implementation\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "wzzeU46e2kxy"
   },
   "source": [
    "### Integrated Gradient\n",
    ">* Reference: [Integrated Gradients](https://www.tensorflow.org/tutorials/interpretability/integrated_gradients)\n",
    "\n",
    "Implement the explanation method using integrated gradients and regression coefficients.\n",
    "The formula for Integrated Gradients is as follows:\n",
    "\n",
    "$IntegratedGradients_{i}(x) ::= (x_{i} - x'_{i})\\times\\int_{\\alpha=0}^1\\frac{\\partial F(x'+\\alpha \\times (x - x'))}{\\partial x_i}{d\\alpha}$\n",
    "\n",
    "where:\n",
    "\n",
    "$_{i}$ = feature   \n",
    "$x$ = input  \n",
    "$x'$ = baseline   \n",
    "$\\alpha$ = interpolation constant to perturb features by\n",
    "\n",
    "\n",
    "In practice, computing a definite integral is not always numerically possible and can be computationally costly, so you compute the following numerical approximation:\n",
    "\n",
    "$IntegratedGrads^{approx}_{i}(x)::=(x_{i}-x'_{i})\\times\\sum_{k=1}^{m}\\frac{\\partial F(x' + \\frac{k}{m}\\times(x - x'))}{\\partial x_{i}} \\times \\frac{1}{m}$\n",
    "\n",
    "where:\n",
    "\n",
    "$_{i}$ = feature (individual pixel)  \n",
    "$x$ = input (image tensor)  \n",
    "$x'$ = baseline (image tensor)  \n",
    "$k$ = scaled feature perturbation constant  \n",
    "$m$ = number of steps in the Riemann sum approximation of the integral  \n",
    "$(x_{i}-x'_{i})$ = a term for the difference from the baseline. This is necessary to scale the integrated gradients and keep them in terms of the original image. The path from the baseline image to the input is in pixel space. Since with IG you are integrating in a straight line (linear transformation) this ends up being roughly equivalent to the integral term of the derivative of the interpolated image function with respect to $\\alpha$ with enough steps. The integral sums each pixel's gradient times the change in the pixel along the path. It's simpler to implement this integration as uniform steps from one image to the other, substituting $x := (x' + \\alpha(x-x'))$. So the change of variables gives $dx = (x-x')d\\alpha$. The $(x-x')$ term is constant and is factored out of the integral."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "id": "7_UAJ9eYPtiu"
   },
   "outputs": [],
   "source": [
    "def calculate_gradient(model, interpolated_input, actions,  feature_idx, stock_idx, h = 1e-1):\n",
    "  forward_input = interpolated_input\n",
    "  forward_input[feature_idx + stock_dimension][stock_idx] += h\n",
    "  forward_Q = model.policy.evaluate_actions(torch.cuda.FloatTensor(forward_input).reshape(-1,stock_dimension*(stock_dimension + feature_dimension)), torch.cuda.FloatTensor(actions).reshape(-1,stock_dimension))\n",
    "  interpolated_Q = model.policy.evaluate_actions(torch.cuda.FloatTensor(interpolated_input).reshape(-1,stock_dimension*(stock_dimension + feature_dimension)), torch.cuda.FloatTensor(actions).reshape(-1,stock_dimension))\n",
    "  forward_Q = forward_Q[0].detach().cpu().numpy()[0]\n",
    "  interpolated_Q = interpolated_Q[0].detach().cpu().numpy()[0]\n",
    "  return (forward_Q - interpolated_Q) / h"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "id": "cY_q0OoF33dB"
   },
   "outputs": [],
   "source": [
    "import copy \n",
    "meta_Q = {\"date\":[], \"feature\":[], \"Saliency Map\":[], \"algo\":[]}\n",
    "\n",
    "for algo in {\"A2C\", \"PPO\"}:\n",
    "  if algo == \"A2C\":\n",
    "    prec_step = 1e-2\n",
    "  else:\n",
    "    prec_step = 1e-1\n",
    "\n",
    "  model = eval(\"trained_\" + algo.lower())\n",
    "  df_actions = eval(\"df_actions_\" + algo.lower())\n",
    "  for i in range(len(unique_trade_date)-1):\n",
    "    date = unique_trade_date[i]\n",
    "    covs = trade[trade['date'] == date].cov_list.iloc[0]\n",
    "    features = trade[trade['date'] == date][tech_indicator_list].values # N x K\n",
    "    actions = df_actions.loc[date].values\n",
    "   \n",
    "    for feature_idx in range(len(tech_indicator_list)):\n",
    "      \n",
    "      int_grad_per_feature = 0\n",
    "      for stock_idx in range(features.shape[0]):#N\n",
    "        \n",
    "        int_grad_per_stock = 0\n",
    "        avg_interpolated_grad = 0\n",
    "        for alpha in range(1, 51):\n",
    "          scale = 1/50\n",
    "          baseline_features = copy.deepcopy(features)\n",
    "          baseline_noise = np.random.normal(0, 1, stock_dimension)\n",
    "          baseline_features[:,feature_idx] = [0] * stock_dimension\n",
    "          interpolated_features = baseline_features + scale * alpha * (features - baseline_features) # N x K\n",
    "          interpolated_input = np.append(covs, interpolated_features.T, axis = 0)\n",
    "          interpolated_gradient = calculate_gradient(model, interpolated_input, actions, feature_idx, stock_idx, h = prec_step)[0]\n",
    "          \n",
    "          avg_interpolated_grad += interpolated_gradient * scale\n",
    "        int_grad_per_stock = (features[stock_idx][feature_idx] - 0) * avg_interpolated_grad\n",
    "        int_grad_per_feature += int_grad_per_stock\n",
    "      \n",
    "      meta_Q['date'] += [date]\n",
    "      meta_Q['algo'] += [algo]\n",
    "      meta_Q['feature'] += [tech_indicator_list[feature_idx]]\n",
    "      meta_Q['Saliency Map'] += [int_grad_per_feature]\n",
    "\n",
    "meta_Q = pd.DataFrame(meta_Q)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "zI0UkiCb2pLD"
   },
   "source": [
    "### Regression Coefficient\n",
    "Implement the linear regression to measure the feature weights."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "WNHzRWPvQIsu",
    "outputId": "d8b0fb68-218d-4131-d033-669e090c4dcf"
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/usr/local/lib/python3.7/dist-packages/statsmodels/tools/_testing.py:19: FutureWarning:\n",
      "\n",
      "pandas.util.testing is deprecated. Use the functions in the public API at pandas.testing instead.\n",
      "\n"
     ]
    }
   ],
   "source": [
    "import statsmodels.api as sm\n",
    "meta_score_coef = {\"date\":[], \"coef\":[], \"algo\":[]}\n",
    "\n",
    "for algo in [\"LR\", \"RF\", \"Reference Model\", \"SVM\", \"DT\", \"A2C\", \"PPO\"]:\n",
    "  if algo == \"LR\":\n",
    "    weights = lr_weights\n",
    "  elif algo == \"RF\":\n",
    "    weights = rf_weights\n",
    "  elif algo == \"DT\":\n",
    "    weights = dt_weights\n",
    "  elif algo == \"SVM\":\n",
    "    weights = svm_weights\n",
    "  elif algo == \"A2C\":\n",
    "    weights = a2c_weights\n",
    "  elif algo == \"PPO\":\n",
    "    weights = ppo_weights\n",
    "  else:\n",
    "    weights = reference_weights\n",
    "\n",
    "  for i in range(len(unique_trade_date) - 1):\n",
    "    date = unique_trade_date[i]\n",
    "    next_date = unique_trade_date[i+1]\n",
    "    df_temp = df[df.date==date].reset_index(drop=True)\n",
    "    df_temp_next = df[df.date==next_date].reset_index(drop=True)\n",
    "    weight_piece = weights[weights.date == date].iloc[0]['weights']\n",
    "    piece_return = pd.DataFrame(df_temp_next.return_list.iloc[0].loc[next_date]).reset_index()\n",
    "    piece_return.columns = ['tic', 'return']\n",
    "    X = df_temp[['macd','rsi_30', 'cci_30', 'dx_30', 'tic']]\n",
    "    X_next = df_temp_next[['macd','rsi_30', 'cci_30', 'dx_30', 'tic']]\n",
    "    piece = weight_piece.merge(X, on = 'tic').merge(piece_return, on = 'tic')\n",
    "    piece['Y'] = piece['return'] * piece['weight']\n",
    "    X = piece[['macd','rsi_30', 'cci_30', 'dx_30']]\n",
    "    X = sm.add_constant(X)\n",
    "    Y = piece[['Y']]\n",
    "    model = sm.OLS(Y,X)\n",
    "    results = model.fit()\n",
    "    meta_score_coef[\"coef\"] += [(X * results.params).sum(axis = 0)]\n",
    "    meta_score_coef[\"date\"] += [date]\n",
    "    meta_score_coef[\"algo\"] += [algo]\n",
    "\n",
    "meta_score_coef = pd.DataFrame(meta_score_coef)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "NaCnRr2K4DuP"
   },
   "source": [
    "### Correlation Coefficient\n",
    "Calculate the  sing-step and multi-step correlation coefficients"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "id": "OKWHxdK-QQxU"
   },
   "outputs": [],
   "source": [
    "performance_score = {\"date\":[], \"algo\":[], \"score\":[]}\n",
    "\n",
    "for i in range(0, len(unique_trade_date)):\n",
    "  date_ = unique_trade_date[i]\n",
    "  if len(meta_score_coef[(meta_score_coef['date'] == date_)]) == 0:\n",
    "    continue \n",
    "  lr_coef = meta_score_coef[(meta_score_coef['date'] == date_) & (meta_score_coef['algo'] == 'LR')]['coef'].values[0][['macd','rsi_30','cci_30','dx_30']].values\n",
    "  rf_coef = meta_score_coef[(meta_score_coef['date'] == date_) & (meta_score_coef['algo'] == 'RF')]['coef'].values[0][['macd','rsi_30','cci_30','dx_30']].values\n",
    "  reference_coef = meta_score_coef[(meta_score_coef['date'] == date_) & (meta_score_coef['algo'] == 'Reference Model')]['coef'].values[0][['macd','rsi_30','cci_30','dx_30']].values\n",
    "  dt_coef = meta_score_coef[(meta_score_coef['date'] == date_) & (meta_score_coef['algo'] == 'DT')]['coef'].values[0][['macd','rsi_30','cci_30','dx_30']].values\n",
    "  svm_coef = meta_score_coef[(meta_score_coef['date'] == date_) & (meta_score_coef['algo'] == 'SVM')]['coef'].values[0][['macd','rsi_30','cci_30','dx_30']].values\n",
    "\n",
    "  saliency_coef_a2c = meta_Q[(meta_Q['date'] == date_) & (meta_Q['algo'] == \"A2C\")]['Saliency Map'].values\n",
    "  saliency_coef_ppo = meta_Q[(meta_Q['date'] == date_) & (meta_Q['algo'] == \"PPO\")]['Saliency Map'].values\n",
    "\n",
    "  lr_score = np.corrcoef(lr_coef, reference_coef)[0][1]\n",
    "  rf_score = np.corrcoef(rf_coef, reference_coef)[0][1]\n",
    "  dt_score = np.corrcoef(dt_coef, reference_coef)[0][1]\n",
    "  svm_score = np.corrcoef(svm_coef, reference_coef)[0][1]\n",
    "  saliency_score_a2c = np.corrcoef(saliency_coef_a2c, reference_coef)[0][1]\n",
    "  saliency_score_ppo = np.corrcoef(saliency_coef_ppo, reference_coef)[0][1]\n",
    "\n",
    "  for algo in [\"LR\",\"A2C\",\"PPO\",\"RF\",\"DT\", \"SVM\"]:\n",
    "    performance_score[\"date\"] += [date_]\n",
    "    performance_score[\"algo\"] += [algo]\n",
    "    if algo == \"LR\":\n",
    "      score = lr_score \n",
    "    elif algo == \"RF\":\n",
    "      score = rf_score\n",
    "    elif algo == \"DT\":\n",
    "      score = dt_score\n",
    "    elif algo == \"A2C\":\n",
    "      score = saliency_score_a2c\n",
    "    elif algo == \"SVM\":\n",
    "      score = svm_score\n",
    "    else:\n",
    "      score = saliency_score_ppo\n",
    "    performance_score[\"score\"] += [score]\n",
    "\n",
    "performance_score = pd.DataFrame(performance_score)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "id": "em0Dx9p_kwrR"
   },
   "outputs": [],
   "source": [
    "multi_performance_score = {\"date\":[], \"algo\":[], \"score\":[]}\n",
    "window = 20\n",
    "for i in range(len(unique_trade_date) - window ):\n",
    "  date_ = unique_trade_date[i]\n",
    "  if len(meta_score_coef[(meta_score_coef['date'] == date_)]) == 0:\n",
    "    continue \n",
    "  lr_coef = meta_score_coef[(meta_score_coef['date'] == date_) & (meta_score_coef['algo'] == 'LR')]['coef'].values[0][['macd','rsi_30','cci_30','dx_30']].values\n",
    "  rf_coef = meta_score_coef[(meta_score_coef['date'] == date_) & (meta_score_coef['algo'] == 'RF')]['coef'].values[0][['macd','rsi_30','cci_30','dx_30']].values\n",
    "  reference_coef = meta_score_coef[(meta_score_coef['date'] == date_) & (meta_score_coef['algo'] == 'Reference Model')]['coef'].values[0][['macd','rsi_30','cci_30','dx_30']].values\n",
    "  for w in range(1, window):\n",
    "      date_f = unique_trade_date[i + w]\n",
    "      prx_coef = meta_score_coef[(meta_score_coef['date'] == date_f) & (meta_score_coef['algo'] == 'Reference Model')]['coef'].values[0][['macd','rsi_30','cci_30','dx_30']].values\n",
    "      reference_coef += prx_coef\n",
    "  reference_coef = reference_coef / window\n",
    "  dt_coef = meta_score_coef[(meta_score_coef['date'] == date_) & (meta_score_coef['algo'] == 'DT')]['coef'].values[0][['macd','rsi_30','cci_30','dx_30']].values\n",
    "  svm_coef = meta_score_coef[(meta_score_coef['date'] == date_) & (meta_score_coef['algo'] == 'SVM')]['coef'].values[0][['macd','rsi_30','cci_30','dx_30']].values\n",
    "  saliency_coef_a2c = meta_Q[(meta_Q['date'] == date_) & (meta_Q['algo'] == \"A2C\")]['Saliency Map'].values\n",
    "  saliency_coef_ppo = meta_Q[(meta_Q['date'] == date_) & (meta_Q['algo'] == \"PPO\")]['Saliency Map'].values\n",
    "  lr_score = np.corrcoef(lr_coef, reference_coef)[0][1]\n",
    "  rf_score = np.corrcoef(rf_coef, reference_coef)[0][1]\n",
    "  dt_score = np.corrcoef(dt_coef, reference_coef)[0][1]\n",
    "  svm_score = np.corrcoef(svm_coef, reference_coef)[0][1]\n",
    "  saliency_score_a2c = np.corrcoef(saliency_coef_a2c, reference_coef)[0][1]\n",
    "  saliency_score_ppo = np.corrcoef(saliency_coef_ppo, reference_coef)[0][1]\n",
    "\n",
    "  for algo in [\"LR\", \"A2C\", \"RF\", \"PPO\", \"DT\", \"SVM\"]:\n",
    "    multi_performance_score[\"date\"] += [date_]\n",
    "    multi_performance_score[\"algo\"] += [algo]\n",
    "    if algo == \"LR\":\n",
    "      score = lr_score \n",
    "    elif algo == \"RF\":\n",
    "      score = rf_score\n",
    "    elif algo == \"DT\":\n",
    "      score = dt_score\n",
    "    elif algo == \"A2C\":\n",
    "      score = saliency_score_a2c\n",
    "    elif algo == \"SVM\":\n",
    "      score = svm_score\n",
    "    else:\n",
    "      score = saliency_score_ppo\n",
    "    multi_performance_score[\"score\"] += [score]\n",
    "\n",
    "multi_performance_score = pd.DataFrame(multi_performance_score)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "9yeGe06I3gGj"
   },
   "source": [
    "### Data Visualization"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "id": "fDCuI-85fBgB"
   },
   "outputs": [],
   "source": [
    "from datetime import datetime as dt\n",
    "\n",
    "import matplotlib.pyplot as plt\n",
    "import plotly\n",
    "import plotly.graph_objs as go\n",
    "trace1_portfolio = go.Scatter(x = time_ind, y = a2c_cumpod, mode = 'lines', name = 'A2C')\n",
    "trace2_portfolio = go.Scatter(x = time_ind, y = ppo_cumpod, mode = 'lines', name = 'PPO')\n",
    "trace3_portfolio = go.Scatter(x = time_ind, y = dji_cumpod, mode = 'lines', name = 'DJIA')\n",
    "trace4_portfolio = go.Scatter(x = time_ind, y = lr_cumprod, mode = 'lines', name = 'LR')\n",
    "trace5_portfolio = go.Scatter(x = time_ind, y = rf_cumprod, mode = 'lines', name = 'RF')\n",
    "trace6_portfolio = go.Scatter(x = time_ind, y = dt_cumprod, mode = 'lines', name = 'DT')\n",
    "trace7_portfolio = go.Scatter(x = time_ind, y = svm_cumprod, mode = 'lines', name = 'SVM')\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 467
    },
    "id": "XClvP1WifJB_",
    "outputId": "9dccbf5b-f69f-452e-f34e-f51b9ab830c8"
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAArwAAAHCCAYAAAANehpvAAAgAElEQVR4XuydCXRURfb/b71ekgAJCYJsKgkyKAElKKgjS4LruBJGgrhAEgIqOEJw3EbHnzAuo45/CSigSCSNO0EJouOGkrC5gQRHoihIEGURMAmELL28+p9br1/3604vr5dE0t53jmeG7qp6VZ+qdH/7vrswoIsIEAEiQASIABEgAkSACMQwARbDa6OlEQEiQASIABEgAkSACBABIMFLh4AIEAEiQASIABEgAkQgpgmQ4I3p7aXFEQEiQASIABEgAkSACJDgpTNABIgAESACRIAIEAEiENMESPDG9PbS4ogAESACRIAIEAEiQARI8NIZIAJEgAgQASJABIgAEYhpAiR4Y3p7aXFEgAgQASJABIgAESACJHjpDBABIkAEiAARIAJEgAjENAESvDG9vbQ4IkAEiAARIAJEgAgQARK8dAaIABEgAkSACBABIkAEYpoACd6Y3l5aHBEgAkSACBABIkAEiAAJXjoDRIAIEAEiQASIABEgAjFNgARvTG8vLY4IEAEiQASIABEgAkSABC+dASJABIgAESACRIAIEIGYJkCCN6a3lxZHBIgAESACRIAIEAEiQIKXzgARIAJEgAgQASJABIhATBMgwRvT20uLIwJEgAgQASJABIgAESDBS2eACBABIkAEiAARIAJEIKYJkOCN6e2lxREBIkAEiAARIAJEgAiQ4KUzQASIABEgAkSACBABIhDTBEjwxvT20uKIABEgAkSACBABIkAESPDSGSACRIAIEAEiQASIABGIaQIkeGN6e2lxRIAIEAEiQASIABEgAiR46QwQASJABIgAESACRIAIxDQBErwxvb20OCJABIgAESACRIAIEAESvHQGiAARIAJEgAgQASJABGKaAAnemN5eWhwRIAJEgAgQASJABIgACV46A0SACBABIkAEiAARIAIxTYAEb0xvLy2OCBABIkAEiAARIAJEgAQvnQEiQASIABEgAkSACBCBmCZAgjemt5cWRwSIABEgAkSACBABIkCCl84AESACRIAIEAEiQASIQEwTIMEb09tLiyMCRIAIEAEiQASIABEgwUtngAgQASJABIgAESACRCCmCZDgjentpcURASJABIgAESACRIAIkOClM0AEiAARIAJEgAgQASIQ0wRI8Mb09tLiiAARIAJEgAgQASJABEjw0hkgAkSACBABIkAEiAARiGkCJHhjentpcUSACBABIkAEiAARIAIkeOkMEAEiQASIABEgAkSACMQ0ARK8Mb29tDgiQASIABEgAkSACBABErx0BogAESACRIAIEAEiQARimgAJ3pjeXlocESACRIAIEAEiQASIAAleOgNEgAgQASJABIgAESACMU2ABG9Mby8tjggQASJABIgAESACRIAEL50BIkAEiAARIAJEgAgQgZgmQII3preXFkcEiAARIAJEgAgQASJAgpfOABEgAkSACBABIkAEiEBMEyDBG9PbS4sjAkSACBABIkAEiAARIMFLZ4AIEAEiQASIABEgAkQgpgmQ4I3p7aXFEQEiQASIABEgAkSACJDgpTNABIgAESACRIAIEAEiENMESPDG9PbS4ogAESACRIAIEAEiQARI8NIZIAJEgAgQASJABIgAEYhpAiR4Y3p7aXFEgAgQASJABIgAESACJHjpDBABIkAEiAARIAJEgAjENAESvDG9vbQ4IkAEiAARIAJEgAgQARK8dAaIABEgAkSACBABIkAEYpoACd6Y3l5aHBEgAkSACBABIkAEiAAJXjoDRIAIEAEiQASIABEgAjFNgARvTG8vLY4IEAEiQASIABEgAkSABC+dASJABIgAESACRIAIEIGYJkCCN6a3lxZHBIgAESACRIAIEAEiQIKXzgARIAJEgAgQASJABIhATBMgwRvT20uLIwJEgAgQASJABIgAESDBS2eACBABIkAEiAARIAJEIKYJkOCN6e2lxREBIkAEiAARIAJEgAiQ4KUzQASIABEgAkSACBABIhDTBEjwxvT20uKIABEgAkSACBABIkAESPDSGSACRIAIEAEiQASIABGIaQIkeGN6e2lxRIAIEAEiQASIABEgAiR46QwQASJABIgAESACRIAIxDQBErwxvb20OCJABIgAESACRIAIEAESvHQGiAARIAJEgAgQASJABGKaAAnemN5eWhwRIAJEgAgQASJABIgACV46A0SACBABIkAEiAARIAIxTYAEb0xvLy2OCBABIkAEiAARIAJEgAQvnQEiQASIABEgAkSACBCBmCZAgjemt5cWRwSIABEgAkSACBABIkCCl84AESACRIAIEAEiQASIQEwTIMEb09tLiyMCRIAIEAEiQASIABEgwUtngAgQASJABIgA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"
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "\n",
    "fig = go.Figure()\n",
    "fig.add_trace(trace1_portfolio)\n",
    "fig.add_trace(trace2_portfolio)\n",
    "\n",
    "fig.add_trace(trace3_portfolio)\n",
    "\n",
    "fig.add_trace(trace4_portfolio)\n",
    "fig.add_trace(trace5_portfolio)\n",
    "fig.add_trace(trace6_portfolio)\n",
    "fig.add_trace(trace7_portfolio)\n",
    "\n",
    "fig.update_layout(\n",
    "    legend=dict(\n",
    "        x=0,\n",
    "        y=1,\n",
    "        traceorder=\"normal\",\n",
    "        font=dict(\n",
    "            family=\"sans-serif\",\n",
    "            size=15,\n",
    "            color=\"black\"\n",
    "        ),\n",
    "        bgcolor=\"White\",\n",
    "        bordercolor=\"white\",\n",
    "        borderwidth=2\n",
    "        \n",
    "    ),\n",
    ")\n",
    "fig.update_layout(title={\n",
    "        #'text': \"Cumulative Return using FinRL\",\n",
    "        'y':0.85,\n",
    "        'x':0.5,\n",
    "        'xanchor': 'center',\n",
    "        'yanchor': 'top'})\n",
    "\n",
    "fig.update_layout(\n",
    "    paper_bgcolor='rgba(1,1,0,0)',\n",
    "    plot_bgcolor='rgba(1, 1, 0, 0)',\n",
    "    xaxis_title=\"Date\",\n",
    "    yaxis = dict(titlefont = dict(size = 30), title = \"Cumulative Return\"),\n",
    "    font=dict(\n",
    "        size=40,\n",
    "    ),\n",
    ")\n",
    "fig.update_layout(font_size = 20)\n",
    "fig.update_traces(line=dict(width=2))\n",
    "\n",
    "fig.update_xaxes(showline=True, linecolor='black',showgrid=True, gridwidth=1, gridcolor='LightSteelBlue',mirror=True)\n",
    "fig.update_yaxes(showline=True,linecolor='black',showgrid=True, gridwidth=1, gridcolor='LightSteelBlue',mirror=True)\n",
    "fig.update_yaxes(zeroline=True, zerolinewidth=1, zerolinecolor='LightSteelBlue')\n",
    "\n",
    "fig.show(\"png\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "s0WhtMDgHz1p"
   },
   "source": [
    "#### We found that A2C and PPO succeeded in the portfoli management task and is better than all other algorithms/benchmark."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "id": "WxlehwfPfUMx"
   },
   "outputs": [],
   "source": [
    "meta_score = {\"Annual return\":[], \"Annual volatility\":[], \"Max drawdown\":[], \"Sharpe ratio\":[], \"Algorithm\":[], \"Calmar ratio\":[]}\n",
    "for name in [\"LR\", \"A2C\", \"RF\", \"Reference Model\", \"PPO\", \"SVM\", \"DT\", \"DJI\"]:\n",
    "  if name == \"DT\":\n",
    "    annualreturn = dt_stats[\"Annual return\"]\n",
    "    annualvol = dt_stats[\"Annual volatility\"]\n",
    "    sharpeRatio = dt_stats[\"Sharpe ratio\"]\n",
    "    maxdradown = dt_stats[\"Max drawdown\"]\n",
    "    calmarratio = dt_stats[\"Calmar ratio\"]\n",
    "  elif name == \"LR\":\n",
    "    annualreturn = lr_stats[\"Annual return\"]\n",
    "    annualvol = lr_stats[\"Annual volatility\"]\n",
    "    sharpeRatio = lr_stats[\"Sharpe ratio\"]\n",
    "    maxdradown = lr_stats[\"Max drawdown\"]\n",
    "    calmarratio = lr_stats[\"Calmar ratio\"]\n",
    "  elif name == \"SVM\":\n",
    "    annualreturn = svm_stats[\"Annual return\"]\n",
    "    annualvol = svm_stats[\"Annual volatility\"]\n",
    "    sharpeRatio = svm_stats[\"Sharpe ratio\"]\n",
    "    maxdradown = svm_stats[\"Max drawdown\"]\n",
    "    calmarratio = svm_stats[\"Calmar ratio\"]\n",
    "  elif name == \"RF\":\n",
    "    annualreturn = rf_stats[\"Annual return\"]\n",
    "    annualvol = rf_stats[\"Annual volatility\"]\n",
    "    sharpeRatio = rf_stats[\"Sharpe ratio\"]\n",
    "    maxdradown = rf_stats[\"Max drawdown\"]\n",
    "    calmarratio = rf_stats[\"Calmar ratio\"]\n",
    "  elif name == \"Reference Model\":\n",
    "    annualreturn = reference_stats[\"Annual return\"]\n",
    "    annualvol = reference_stats[\"Annual volatility\"]\n",
    "    sharpeRatio = reference_stats[\"Sharpe ratio\"]\n",
    "    maxdradown = reference_stats[\"Max drawdown\"]\n",
    "    calmarratio = reference_stats[\"Calmar ratio\"]\n",
    "  elif name == \"PPO\":\n",
    "    annualreturn = perf_stats_all_ppo[\"Annual return\"]\n",
    "    annualvol = perf_stats_all_ppo[\"Annual volatility\"]\n",
    "    sharpeRatio = perf_stats_all_ppo[\"Sharpe ratio\"]\n",
    "    maxdradown = perf_stats_all_ppo[\"Max drawdown\"]\n",
    "    calmarratio = perf_stats_all_ppo[\"Calmar ratio\"]\n",
    "  elif name == \"DJI\":\n",
    "    annualreturn = baseline_df_stats[\"Annual return\"]\n",
    "    annualvol = baseline_df_stats[\"Annual volatility\"]\n",
    "    sharpeRatio = baseline_df_stats[\"Sharpe ratio\"]\n",
    "    maxdradown = baseline_df_stats[\"Max drawdown\"]\n",
    "    calmarratio = baseline_df_stats[\"Calmar ratio\"]\n",
    "  else:\n",
    "    annualreturn = perf_stats_all_a2c[\"Annual return\"]\n",
    "    annualvol = perf_stats_all_a2c[\"Annual volatility\"]\n",
    "    sharpeRatio = perf_stats_all_a2c[\"Sharpe ratio\"]\n",
    "    maxdradown = perf_stats_all_a2c[\"Max drawdown\"]\n",
    "    calmarratio = perf_stats_all_a2c[\"Calmar ratio\"]\n",
    "  meta_score[\"Algorithm\"] += [name]\n",
    "  meta_score[\"Annual return\"] += [annualreturn]\n",
    "  meta_score[\"Annual volatility\"] += [annualvol]\n",
    "  meta_score[\"Max drawdown\"] += [maxdradown]\n",
    "  meta_score[\"Sharpe ratio\"] += [sharpeRatio]\n",
    "  meta_score[\"Calmar ratio\"] += [calmarratio]\n",
    "\n",
    "meta_score = pd.DataFrame(meta_score).sort_values(\"Sharpe ratio\")\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "id": "H7sK4kM8QyEu"
   },
   "outputs": [],
   "source": [
    "postiveRatio = pd.DataFrame(performance_score.groupby(\"algo\").apply(lambda x : np.mean(x['score'])))\n",
    "\n",
    "postiveRatio = postiveRatio.reset_index()\n",
    "postiveRatio.columns = ['algo', 'avg_correlation_coefficient']\n",
    "postiveRatio['Sharpe Ratio'] = [0] * 6\n",
    "\n",
    "# postiveRatio.plot.bar(x = 'algo', y = 'avg_correlation_coefficient')\n",
    "\n",
    "postiveRatiom = pd.DataFrame(multi_performance_score.groupby(\"algo\").apply(lambda x : np.mean(x['score'])))\n",
    "postiveRatiom = postiveRatiom.reset_index()\n",
    "postiveRatiom.columns = ['algo', 'avg_correlation_coefficient']\n",
    "postiveRatiom['Sharpe Ratio'] = [0] * 6\n",
    "\n",
    "# postiveRatiom.plot.bar(x = 'algo', y = 'avg_correlation_coefficient')\n",
    "\n",
    "\n",
    "for algo in ['A2C', 'PPO', 'LR','DT', 'RF', 'SVM']:\n",
    "  postiveRatio.loc[postiveRatio['algo'] == algo, 'Sharpe Ratio'] = meta_score.loc[meta_score['Algorithm'] == algo,'Sharpe ratio'].values[0]\n",
    "  postiveRatiom.loc[postiveRatio['algo'] == algo, 'Sharpe Ratio'] = meta_score.loc[meta_score['Algorithm'] == algo,'Sharpe ratio'].values[0]\n",
    "\n",
    "postiveRatio.sort_values(\"Sharpe Ratio\", inplace= True)\n",
    "\n",
    "postiveRatiom.sort_values(\"Sharpe Ratio\", inplace= True)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 467
    },
    "id": "_rLjcOmRBjeu",
    "outputId": "05ccaf64-4984-4c2a-eae2-eb87ed7f8551"
   },
   "outputs": [
    {
     "data": {
      "image/png": "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AQpQgAIUKGkBBt6SHl52jgIUoAAFKEABClCAgZdzgAIUoAAFKEABClCgpAUYeEt6eNk5ClCAAhSgAAUoQAEGXs4BClCAAhSgAAUoQIGSFmDgLenhZecoQAEKUIACFKAABRh4OQcoQAEKUIACFKAABUpagIG3pIeXnaMABShAAQpQgAIUYODlHKAABShAAQpQgAIUKGkBBt6SHl52jgIUoAAFKEABClCAgZdzgAIUoAAFKEABClCgpAUYeEt6eNk5ClCAAhSgAAUoQAEGXs4BClCAAhSgAAUoQIGSFmDgLenhZecoQAEKUIACFKAABRh4OQcoQAEKUIACFKAABUpagIG3pIeXnaMABShAAQpQgAIUYODlHKAABShAAQpQgAIUKGkBBt6SHl52jgIUoAAFKEABClCAgZdzgAIUoAAFKEABClCgpAUYeEt6eNk5ClCAAhSgAAUoQAEGXs4BClCAAhSgAAUoQIGSFmDgLenhZecoQAEKUIACFKAABRh4OQcoQAEKUIACFKAABUpagIG3pIeXnaMABShAAQpQgAIUYODlHKAABShAAQpQgAIUKGmB/w9wooNTQnFV0gAAAABJRU5ErkJggg=="
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "\n",
    "import plotly.graph_objects as go\n",
    "from plotly.subplots import make_subplots\n",
    "\n",
    "# Create figure with secondary y-axis\n",
    "fig = make_subplots(specs=[[{\"secondary_y\": True}]])\n",
    "\n",
    "# Add traces\n",
    "fig.add_trace(\n",
    "    go.Scatter(x=postiveRatiom['algo'], y=postiveRatiom['Sharpe Ratio'], name=\"Sharpe Ratio\", marker_size = 15, line_width=5),\n",
    "    secondary_y=True,\n",
    ")\n",
    "\n",
    "fig.add_trace(\n",
    "    go.Bar(x=postiveRatiom['algo'], y=postiveRatiom['avg_correlation_coefficient'], name=\"Multi-Step Average Correlation Coefficient          \", width\n",
    "    =0.38),\n",
    "    secondary_y=False,\n",
    ")\n",
    "fig.add_trace(\n",
    "    go.Bar(x=postiveRatio['algo'], y=postiveRatio['avg_correlation_coefficient'], name=\"Single-Step Average Correlation Coefficient           \", width\n",
    "    =0.38),\n",
    "    secondary_y=False,\n",
    ")\n",
    "    \n",
    "fig.update_layout(\n",
    "    paper_bgcolor='rgba(1,1,0,0)',\n",
    "    plot_bgcolor='rgba(1, 1, 0, 0)',\n",
    ")\n",
    "fig.update_layout(legend=dict(\n",
    "    yanchor=\"top\",\n",
    "    y=1.5,\n",
    "    xanchor=\"right\",\n",
    "    x=0.95\n",
    "))\n",
    "fig.update_layout(font_size = 15)\n",
    "\n",
    "# Set x-axis title\n",
    "fig.update_xaxes(title_text=\"Model\")\n",
    "fig.update_xaxes(showline=True, linecolor='black',showgrid=True,gridwidth=1, gridcolor='LightSteelBlue',mirror=True)\n",
    "fig.update_yaxes(showline=True,linecolor='black',showgrid=True, secondary_y=False, gridwidth=1, gridcolor='LightSteelBlue',mirror=True)\n",
    "fig.update_yaxes(zeroline=True, zerolinewidth=1, zerolinecolor='LightSteelBlue')\n",
    "# Set y-axes titles\n",
    "fig.update_yaxes(title_text=\"Average Correlation Coefficient\", secondary_y=False, range = [-0.1,0.1])\n",
    "fig.update_yaxes(title_text=\"Sharpe Ratio\", secondary_y=True,range = [-0.5,2.5])\n",
    "\n",
    "fig.show(\"png\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "p5vQar1zIACp"
   },
   "source": [
    "#### The correlation coefficient represents the level of prediction power. \n",
    "\n",
    "We found that:\n",
    ">*  The sharpe ratio is in accordance with both single-step and  multi-step average correlation coefficient.\n",
    ">* DRL agents is better at multi-step prediction than ML algorithms while worse at single-step prediction"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 467
    },
    "id": "ZaMzEa2UxmI6",
    "outputId": "bf84c72b-9937-49c5-9cd6-da11e84f9f8c"
   },
   "outputs": [
    {
     "data": {
      "image/png": "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"
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "\n",
    "import plotly.graph_objects as go\n",
    "from plotly.subplots import make_subplots\n",
    "\n",
    "\n",
    "fig = make_subplots(rows=2, cols=3)\n",
    "\n",
    "trace0 = go.Histogram(x=performance_score[performance_score['algo'] == 'A2C']['score'].values, nbinsx=25, name = 'A2C',histnorm='probability')\n",
    "trace1 = go.Histogram(x=performance_score[performance_score['algo'] == 'PPO']['score'].values, nbinsx=25, name = 'PPO',histnorm='probability')\n",
    "trace2 = go.Histogram(x=performance_score[performance_score['algo'] == 'DT']['score'].values, nbinsx=25, name = 'DT',histnorm='probability')\n",
    "trace3 = go.Histogram(x=performance_score[performance_score['algo'] == 'LR']['score'].values, nbinsx=25, name = 'LR',histnorm='probability')\n",
    "trace4 = go.Histogram(x=performance_score[performance_score['algo'] == 'SVM']['score'].values, nbinsx=25, name = 'SVM',histnorm='probability')\n",
    "trace5 = go.Histogram(x=performance_score[performance_score['algo'] == 'RF']['score'].values, nbinsx=25, name = 'RF',histnorm='probability')\n",
    "\n",
    "\n",
    "fig.append_trace(trace0, 1, 1)\n",
    "fig.append_trace(trace1, 1, 2)\n",
    "fig.append_trace(trace2, 1, 3)\n",
    "fig.append_trace(trace3, 2, 1)\n",
    "fig.append_trace(trace4, 2, 2)\n",
    "fig.append_trace(trace5, 2, 3)\n",
    "# Update xaxis properties\n",
    "fig.update_xaxes(title_text=\"Correlation coefficient\", row=2, col=2)\n",
    "fig.update_yaxes(title_text=\"Frequency\", row=1, col=1)\n",
    "fig.update_yaxes(title_text=\"Frequency\", row=2, col=1)\n",
    "\n",
    "fig.update_layout(\n",
    "\n",
    "    paper_bgcolor='rgba(1,1,0,0)',\n",
    "    plot_bgcolor='rgba(1, 1, 0, 0)',\n",
    "     font=dict(\n",
    "       \n",
    "        size=18,\n",
    "    ),\n",
    "\n",
    ")\n",
    "fig.update_layout(legend=dict(\n",
    "    yanchor=\"top\",\n",
    "    y=0.99,\n",
    "    xanchor=\"left\",\n",
    "    x=1\n",
    "))\n",
    "\n",
    "fig.update_xaxes(showline=True,linecolor='black',showgrid=True, gridwidth=1, gridcolor='LightSteelBlue',mirror=True)\n",
    "fig.update_yaxes(showline=True,linecolor='black',showgrid=True, gridwidth=1, gridcolor='LightSteelBlue',mirror=True)\n",
    "fig.update_yaxes(zeroline=True, zerolinewidth=1, zerolinecolor='LightSteelBlue')\n",
    "\n",
    "fig.show(\"png\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "UwiYdXs2IgZl"
   },
   "source": [
    "#### Histogram of single-step correlation coefficient"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 467
    },
    "id": "kyj3_rmFF42y",
    "outputId": "bc02b0ef-f749-44b2-f755-ce57bc49dd9f"
   },
   "outputs": [
    {
     "data": {
      "image/png": "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"
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import plotly.graph_objects as go\n",
    "from plotly.subplots import make_subplots\n",
    "\n",
    "\n",
    "fig = make_subplots(rows=2, cols=3)\n",
    "\n",
    "trace0 = go.Histogram(x=multi_performance_score[multi_performance_score['algo'] == 'A2C']['score'].values, nbinsx=25, name = 'A2C',histnorm='probability')\n",
    "trace1 = go.Histogram(x=multi_performance_score[multi_performance_score['algo'] == 'PPO']['score'].values, nbinsx=25, name = 'PPO',histnorm='probability')\n",
    "trace2 = go.Histogram(x=multi_performance_score[multi_performance_score['algo'] == 'DT']['score'].values, nbinsx=25, name = 'DT',histnorm='probability')\n",
    "trace3 = go.Histogram(x=multi_performance_score[multi_performance_score['algo'] == 'LR']['score'].values, nbinsx=25, name = 'LR',histnorm='probability')\n",
    "trace4 = go.Histogram(x=multi_performance_score[multi_performance_score['algo'] == 'SVM']['score'].values, nbinsx=25, name = 'SVM',histnorm='probability')\n",
    "trace5 = go.Histogram(x=multi_performance_score[multi_performance_score['algo'] == 'RF']['score'].values, nbinsx=25, name = 'RF',histnorm='probability')\n",
    "\n",
    "fig.update_layout(yaxis1 = dict(range=[0, 0.2]))\n",
    "fig.update_layout(yaxis2 = dict(range=[0, 0.2]))\n",
    "fig.update_layout(yaxis3 = dict(range=[0, 0.4]))\n",
    "fig.update_layout(yaxis4 = dict(range=[0, 0.4]))\n",
    "fig.update_layout(yaxis5 = dict(range=[0, 0.4]))\n",
    "fig.update_layout(yaxis6 = dict(range=[0, 0.4]))\n",
    "\n",
    "fig.append_trace(trace0, 1, 1)\n",
    "fig.append_trace(trace1, 1, 2)\n",
    "fig.append_trace(trace2, 1, 3)\n",
    "fig.append_trace(trace3, 2, 1)\n",
    "fig.append_trace(trace4, 2, 2)\n",
    "fig.append_trace(trace5, 2, 3)\n",
    "# Update xaxis properties\n",
    "fig.update_xaxes(title_text=\"Correlation coefficient\", row=2, col=2)\n",
    "fig.update_yaxes(title_text=\"Frequency\", row=1, col=1)\n",
    "fig.update_yaxes(title_text=\"Frequency\", row=2, col=1)\n",
    "\n",
    "fig.update_layout(\n",
    "\n",
    "    paper_bgcolor='rgba(1,1,0,0)',\n",
    "    plot_bgcolor='rgba(1, 1, 0, 0)',\n",
    "     font=dict(\n",
    "       \n",
    "        size=18,\n",
    "    ),\n",
    "\n",
    ")\n",
    "fig.update_layout(legend=dict(\n",
    "    yanchor=\"top\",\n",
    "    y=0.99,\n",
    "    xanchor=\"left\",\n",
    "    x=1\n",
    "))\n",
    "\n",
    "fig.update_xaxes(showline=True,linecolor='black',showgrid=True, gridwidth=1, gridcolor='LightSteelBlue',mirror=True)\n",
    "fig.update_yaxes(showline=True,linecolor='black',showgrid=True, gridwidth=1, gridcolor='LightSteelBlue',mirror=True)\n",
    "fig.update_yaxes(zeroline=True, zerolinewidth=1, zerolinecolor='LightSteelBlue')\n",
    "\n",
    "fig.show(\"png\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "3JQCKXP-ImaL"
   },
   "source": [
    "#### Histogram of multi-step correlation coefficient"
   ]
  }
 ],
 "metadata": {
  "accelerator": "GPU",
  "colab": {
   "collapsed_sections": [],
   "machine_shape": "hm",
   "name": "FinRL: explainable deep reinforcement learning for portfolio management: an empirical approach.ipynb",
   "provenance": []
  },
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.10"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}
